You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by ve...@apache.org on 2008/12/29 16:59:10 UTC
svn commit: r729922 - in /webservices/commons/trunk/modules/tcpmon:
modules/tcpmon-core/ modules/tcpmon-eclipse-plugin/
src/org/apache/ws/commons/tcpmon/ src/org/apache/ws/commons/tcpmon/core/
src/org/apache/ws/commons/tcpmon/eclipse/ui/
Author: veithen
Date: Mon Dec 29 07:59:10 2008
New Revision: 729922
URL: http://svn.apache.org/viewvc?rev=729922&view=rev
Log:
Refactored the common code in the two SocketRR implementations into a common base class.
Added:
webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/core/
webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/core/AbstractSocketRR.java (contents, props changed)
- copied, changed from r729870, webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java
Modified:
webservices/commons/trunk/modules/tcpmon/modules/tcpmon-core/pom.xml
webservices/commons/trunk/modules/tcpmon/modules/tcpmon-eclipse-plugin/pom.xml
webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java
webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/eclipse/ui/SocketRR.java
Modified: webservices/commons/trunk/modules/tcpmon/modules/tcpmon-core/pom.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/tcpmon/modules/tcpmon-core/pom.xml?rev=729922&r1=729921&r2=729922&view=diff
==============================================================================
--- webservices/commons/trunk/modules/tcpmon/modules/tcpmon-core/pom.xml (original)
+++ webservices/commons/trunk/modules/tcpmon/modules/tcpmon-core/pom.xml Mon Dec 29 07:59:10 2008
@@ -40,6 +40,7 @@
<target>1.3</target>
<includes>
<include>org/apache/ws/commons/tcpmon/SlowLinkSimulator.java</include>
+ <include>org/apache/ws/commons/tcpmon/core/**/*.java</include>
</includes>
</configuration>
</plugin>
Modified: webservices/commons/trunk/modules/tcpmon/modules/tcpmon-eclipse-plugin/pom.xml
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/tcpmon/modules/tcpmon-eclipse-plugin/pom.xml?rev=729922&r1=729921&r2=729922&view=diff
==============================================================================
--- webservices/commons/trunk/modules/tcpmon/modules/tcpmon-eclipse-plugin/pom.xml (original)
+++ webservices/commons/trunk/modules/tcpmon/modules/tcpmon-eclipse-plugin/pom.xml Mon Dec 29 07:59:10 2008
@@ -85,6 +85,7 @@
<Bundle-SymbolicName>${groupId}.${artifactId};singleton:=true</Bundle-SymbolicName>
<Export-Package>
org.apache.ws.commons.tcpmon,
+ org.apache.ws.commons.tcpmon.core,
org.apache.ws.commons.tcpmon.eclipse.*
</Export-Package>
<Bundle-Activator>org.apache.ws.commons.tcpmon.eclipse.plugin.TcpmonitorPlugin</Bundle-Activator>
Modified: webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java?rev=729922&r1=729921&r2=729922&view=diff
==============================================================================
--- webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java (original)
+++ webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java Mon Dec 29 07:59:10 2008
@@ -18,6 +18,9 @@
import javax.swing.JTextArea;
import javax.swing.table.TableModel;
+
+import org.apache.ws.commons.tcpmon.core.AbstractSocketRR;
+
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
@@ -26,47 +29,11 @@
* this class handles the pumping of data from the incoming socket to the
* outgoing socket
*/
-class SocketRR extends Thread {
-
- /**
- * Field inSocket
- */
- Socket inSocket = null;
-
- /**
- * Field outSocket
- */
- Socket outSocket = null;
-
+class SocketRR extends AbstractSocketRR {
/**
* Field textArea
*/
JTextArea textArea;
-
- /**
- * Field in
- */
- InputStream in = null;
-
- /**
- * Field out
- */
- OutputStream out = null;
-
- /**
- * Field xmlFormat
- */
- boolean xmlFormat;
-
- /**
- * Field done
- */
- volatile boolean done = false;
-
- /**
- * Field tmodel
- */
- volatile long elapsed = 0;
/**
* Field tmodel
@@ -79,21 +46,11 @@
int tableIndex = 0;
/**
- * Field type
- */
- String type = null;
-
- /**
* Field myConnection
*/
Connection myConnection = null;
/**
- * Field slowLink
- */
- SlowLinkSimulator slowLink;
-
- /**
* Constructor SocketRR
*
* @param c
@@ -113,241 +70,31 @@
OutputStream outputStream, JTextArea _textArea,
boolean format, TableModel tModel, int index,
final String type, SlowLinkSimulator slowLink) {
- inSocket = inputSocket;
- in = inputStream;
- outSocket = outputSocket;
- out = outputStream;
+ super(inputSocket, inputStream, outputSocket, outputStream, format, type, slowLink);
textArea = _textArea;
- xmlFormat = format;
tmodel = tModel;
tableIndex = index;
- this.type = type;
myConnection = c;
- this.slowLink = slowLink;
start();
}
- /**
- * Method isDone
- *
- * @return boolean
- */
- public boolean isDone() {
- return done;
+ protected boolean isSaveFirstLine() {
+ return tmodel != null;
}
-
- public String getElapsed() {
- return String.valueOf(elapsed);
+
+ protected String getSavedFirstLine() {
+ return (String) tmodel.getValueAt(tableIndex, TCPMon.REQ_COLUMN);
}
- /**
- * Method run
- */
- public void run() {
- try {
- byte[] buffer = new byte[4096];
- byte[] tmpbuffer = new byte[8192];
- int saved = 0;
- int len;
- int i1, i2;
- int i;
- int reqSaved = 0;
- int tabWidth = 3;
- boolean atMargin = true;
- int thisIndent = -1, nextIndent = -1, previousIndent = -1;
- if (tmodel != null) {
- String tmpStr = (String) tmodel.getValueAt(tableIndex,
- TCPMon.REQ_COLUMN);
- if (!"".equals(tmpStr)) {
- reqSaved = tmpStr.length();
- }
- }
- long start = System.currentTimeMillis();
- a:
- for (; ;) {
-
- elapsed = System.currentTimeMillis() - start;
-
- if (done) {
- break;
- }
-
- // try{
- // len = in.available();
- // }catch(Exception e){len=0;}
- len = buffer.length;
-
- // Used to be 1, but if we block it doesn't matter
- // however 1 will break with some servers, including apache
- if (len == 0) {
- len = buffer.length;
- }
- if (saved + len > buffer.length) {
- len = buffer.length - saved;
- }
- int len1 = 0;
- while (len1 == 0) {
- try {
- len1 = in.read(buffer, saved, len);
- } catch (Exception ex) {
- if (done && (saved == 0)) {
- break a;
- }
- len1 = -1;
- break;
- }
- }
- len = len1;
- if ((len == -1) && (saved == 0)) {
- break;
- }
- if (len == -1) {
- done = true;
- }
-
- // No matter how we may (or may not) format it, send it
- // on unformatted - we don't want to mess with how its
- // sent to the other side, just how its displayed
- if ((out != null) && (len > 0)) {
- slowLink.pump(len);
- out.write(buffer, saved, len);
- }
-
- if ((tmodel != null) && (reqSaved < 50)) {
- String old = (String) tmodel.getValueAt(tableIndex,
- TCPMon.REQ_COLUMN);
- old = old + new String(buffer, saved, len);
- if (old.length() > 50) {
- old = old.substring(0, 50);
- }
- reqSaved = old.length();
- if ((i = old.indexOf('\n')) > 0) {
- old = old.substring(0, i - 1);
- reqSaved = 50;
- }
- tmodel.setValueAt(old, tableIndex, TCPMon.REQ_COLUMN);
- }
-
-
- if (xmlFormat) {
-
- // Do XML Formatting
- boolean inXML = false;
- int bufferLen = saved;
- if (len != -1) {
- bufferLen += len;
- }
- i1 = 0;
- i2 = 0;
- saved = 0;
- for (; i1 < bufferLen; i1++) {
-
- // Except when we're at EOF, saved last char
- if ((len != -1) && (i1 + 1 == bufferLen)) {
- saved = 1;
- break;
- }
- thisIndent = -1;
- if ((buffer[i1] == '<')
- && (buffer[i1 + 1] != '/')) {
- previousIndent = nextIndent++;
- thisIndent = nextIndent;
- inXML = true;
- }
- if ((buffer[i1] == '<')
- && (buffer[i1 + 1] == '/')) {
- if (previousIndent > nextIndent) {
- thisIndent = nextIndent;
- }
- previousIndent = nextIndent--;
- inXML = true;
- }
- if ((buffer[i1] == '/')
- && (buffer[i1 + 1] == '>')) {
- previousIndent = nextIndent--;
- inXML = true;
- }
- if (thisIndent != -1) {
- if (thisIndent > 0) {
- tmpbuffer[i2++] = (byte) '\n';
- }
- for (i = tabWidth * thisIndent; i > 0; i--) {
- tmpbuffer[i2++] = (byte) ' ';
- }
- }
- atMargin = ((buffer[i1] == '\n')
- || (buffer[i1] == '\r'));
- if (!inXML || !atMargin) {
- tmpbuffer[i2++] = buffer[i1];
- }
- }
-
- textArea.append(new String(tmpbuffer, 0, i2));
-
- // Shift saved bytes to the beginning
- for (i = 0; i < saved; i++) {
- buffer[i] = buffer[bufferLen - saved + i];
- }
- } else {
- textArea.append(new String(buffer, 0, len));
- }
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- done = true;
- try {
- if (out != null) {
- out.flush();
- if (null != outSocket) {
- outSocket.shutdownOutput();
- } else {
- out.close();
- }
- out = null;
- }
- } catch (Exception e) {
- }
- try {
- if (in != null) {
- if (inSocket != null) {
- inSocket.shutdownInput();
- } else {
- in.close();
- }
- in = null;
- }
- } catch (Exception e) {
- }
- myConnection.wakeUp();
- }
+ protected void setSavedFirstLine(String value) {
+ tmodel.setValueAt(value, tableIndex, TCPMon.REQ_COLUMN);
+ }
+
+ protected void appendData(String data) {
+ textArea.append(data);
}
- /**
- * Method halt
- */
- public void halt() {
- try {
- if (inSocket != null) {
- inSocket.close();
- }
- if (outSocket != null) {
- outSocket.close();
- }
- inSocket = null;
- outSocket = null;
- if (in != null) {
- in.close();
- }
- if (out != null) {
- out.close();
- }
- in = null;
- out = null;
- done = true;
- } catch (Exception e) {
- e.printStackTrace();
- }
+ protected void onFinish() {
+ myConnection.wakeUp();
}
}
Copied: webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/core/AbstractSocketRR.java (from r729870, webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/core/AbstractSocketRR.java?p2=webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/core/AbstractSocketRR.java&p1=webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java&r1=729870&r2=729922&rev=729922&view=diff
==============================================================================
--- webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/SocketRR.java (original)
+++ webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/core/AbstractSocketRR.java Mon Dec 29 07:59:10 2008
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package org.apache.ws.commons.tcpmon;
+package org.apache.ws.commons.tcpmon.core;
+
+import org.apache.ws.commons.tcpmon.SlowLinkSimulator;
-import javax.swing.JTextArea;
-import javax.swing.table.TableModel;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
@@ -26,7 +26,7 @@
* this class handles the pumping of data from the incoming socket to the
* outgoing socket
*/
-class SocketRR extends Thread {
+public abstract class AbstractSocketRR extends Thread {
/**
* Field inSocket
@@ -39,11 +39,6 @@
Socket outSocket = null;
/**
- * Field textArea
- */
- JTextArea textArea;
-
- /**
* Field in
*/
InputStream in = null;
@@ -69,26 +64,11 @@
volatile long elapsed = 0;
/**
- * Field tmodel
- */
- TableModel tmodel = null;
-
- /**
- * Field tableIndex
- */
- int tableIndex = 0;
-
- /**
* Field type
*/
String type = null;
/**
- * Field myConnection
- */
- Connection myConnection = null;
-
- /**
* Field slowLink
*/
SlowLinkSimulator slowLink;
@@ -108,23 +88,17 @@
* @param type
* @param slowLink
*/
- public SocketRR(Connection c, Socket inputSocket,
+ public AbstractSocketRR(Socket inputSocket,
InputStream inputStream, Socket outputSocket,
- OutputStream outputStream, JTextArea _textArea,
- boolean format, TableModel tModel, int index,
+ OutputStream outputStream, boolean format,
final String type, SlowLinkSimulator slowLink) {
inSocket = inputSocket;
in = inputStream;
outSocket = outputSocket;
out = outputStream;
- textArea = _textArea;
xmlFormat = format;
- tmodel = tModel;
- tableIndex = index;
this.type = type;
- myConnection = c;
this.slowLink = slowLink;
- start();
}
/**
@@ -155,9 +129,8 @@
int tabWidth = 3;
boolean atMargin = true;
int thisIndent = -1, nextIndent = -1, previousIndent = -1;
- if (tmodel != null) {
- String tmpStr = (String) tmodel.getValueAt(tableIndex,
- TCPMon.REQ_COLUMN);
+ if (isSaveFirstLine()) {
+ String tmpStr = getSavedFirstLine();
if (!"".equals(tmpStr)) {
reqSaved = tmpStr.length();
}
@@ -213,9 +186,8 @@
out.write(buffer, saved, len);
}
- if ((tmodel != null) && (reqSaved < 50)) {
- String old = (String) tmodel.getValueAt(tableIndex,
- TCPMon.REQ_COLUMN);
+ if (isSaveFirstLine() && (reqSaved < 50)) {
+ String old = getSavedFirstLine();
old = old + new String(buffer, saved, len);
if (old.length() > 50) {
old = old.substring(0, 50);
@@ -225,7 +197,7 @@
old = old.substring(0, i - 1);
reqSaved = 50;
}
- tmodel.setValueAt(old, tableIndex, TCPMon.REQ_COLUMN);
+ setSavedFirstLine(old);
}
@@ -282,14 +254,14 @@
}
}
- textArea.append(new String(tmpbuffer, 0, i2));
+ appendData(new String(tmpbuffer, 0, i2));
// Shift saved bytes to the beginning
for (i = 0; i < saved; i++) {
buffer[i] = buffer[bufferLen - saved + i];
}
} else {
- textArea.append(new String(buffer, 0, len));
+ appendData(new String(buffer, 0, len));
}
}
@@ -320,7 +292,7 @@
}
} catch (Exception e) {
}
- myConnection.wakeUp();
+ onFinish();
}
}
@@ -350,4 +322,10 @@
e.printStackTrace();
}
}
+
+ protected abstract boolean isSaveFirstLine();
+ protected abstract String getSavedFirstLine();
+ protected abstract void setSavedFirstLine(String value);
+ protected abstract void appendData(String data);
+ protected abstract void onFinish();
}
Propchange: webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/core/AbstractSocketRR.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/core/AbstractSocketRR.java
------------------------------------------------------------------------------
svn:mergeinfo =
Modified: webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/eclipse/ui/SocketRR.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/eclipse/ui/SocketRR.java?rev=729922&r1=729921&r2=729922&view=diff
==============================================================================
--- webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/eclipse/ui/SocketRR.java (original)
+++ webservices/commons/trunk/modules/tcpmon/src/org/apache/ws/commons/tcpmon/eclipse/ui/SocketRR.java Mon Dec 29 07:59:10 2008
@@ -23,54 +23,19 @@
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.Text;
import org.apache.ws.commons.tcpmon.SlowLinkSimulator;
+import org.apache.ws.commons.tcpmon.core.AbstractSocketRR;
/**
* this class handles the pumping of data from the incoming socket to the
* outgoing socket Same as the swing one except for the use of SWT components
*/
-class SocketRR extends Thread {
-
- /**
- * Field inSocket
- */
- Socket inSocket = null;
-
- /**
- * Field outSocket
- */
- Socket outSocket = null;
-
+class SocketRR extends AbstractSocketRR {
/**
* Field textArea
*/
Text textArea;
/**
- * Field in
- */
- InputStream in = null;
-
- /**
- * Field out
- */
- OutputStream out = null;
-
- /**
- * Field xmlFormat
- */
- boolean xmlFormat;
-
- /**
- * Field done
- */
- volatile boolean done = false;
-
- /**
- * Field tmodel
- */
- volatile long elapsed = 0;
-
- /**
* Field tmodel
*/
Table tmodel = null;
@@ -81,21 +46,11 @@
int tableIndex = 0;
/**
- * Field type
- */
- String type = null;
-
- /**
* Field myConnection
*/
Connection myConnection = null;
/**
- * Field slowLink
- */
- SlowLinkSimulator slowLink;
-
- /**
* Constructor SocketRR
*
* @param c
@@ -115,278 +70,45 @@
OutputStream outputStream, Text _textArea,
boolean format, Table tModel, int index,
final String type, SlowLinkSimulator slowLink) {
- inSocket = inputSocket;
- in = inputStream;
- outSocket = outputSocket;
- out = outputStream;
+ super(inputSocket, inputStream, outputSocket, outputStream, format, type, slowLink);
textArea = _textArea;
- xmlFormat = format;
tmodel = tModel;
tableIndex = index;
- this.type = type;
myConnection = c;
- this.slowLink = slowLink;
start();
}
- /**
- * Method isDone
- *
- * @return boolean
- */
- public boolean isDone() {
- return done;
- }
-
- public String getElapsed() {
- return String.valueOf(elapsed);
+ protected boolean isSaveFirstLine() {
+ return tmodel != null;
}
- /**
- * Method run
- */
- public void run() {
- try {
- byte[] buffer = new byte[4096];
- byte[] tmpbuffer = new byte[8192];
- int saved = 0;
- int len;
- int i1, i2;
- int i;
- int reqSaved = 0;
- int tabWidth = 3;
- boolean atMargin = true;
- int thisIndent = -1, nextIndent = -1, previousIndent = -1;
-
- final int[] result = new int[] { reqSaved };
- MainView.display.syncExec(new Runnable() {
- public void run() {
- if (tmodel != null) {
- String tmpStr = tmodel.getItem(tableIndex).getText(MainView.REQ_COLUMN);
- if (!"".equals(tmpStr)) {
- result[0] = tmpStr.length();
- }
- }
- }
- });
- reqSaved = result[0];
-
- long start = System.currentTimeMillis();
- a:
- for (; ;) {
-
- elapsed = System.currentTimeMillis() - start;
-
- if (done) {
- break;
- }
-
- // try{
- // len = in.available();
- // }catch(Exception e){len=0;}
- len = buffer.length;
-
- // Used to be 1, but if we block it doesn't matter
- // however 1 will break with some servers, including apache
- if (len == 0) {
- len = buffer.length;
- }
- if (saved + len > buffer.length) {
- len = buffer.length - saved;
- }
- int len1 = 0;
- while (len1 == 0) {
- try {
- len1 = in.read(buffer, saved, len);
- } catch (Exception ex) {
- if (done && (saved == 0)) {
- break a;
- }
- len1 = -1;
- break;
- }
- }
- len = len1;
- if ((len == -1) && (saved == 0)) {
- break;
- }
- if (len == -1) {
- done = true;
- }
-
- // No matter how we may (or may not) format it, send it
- // on unformatted - we don't want to mess with how its
- // sent to the other side, just how its displayed
- if ((out != null) && (len > 0)) {
- slowLink.pump(len);
- out.write(buffer, saved, len);
- }
-
- final boolean[] outBool = new boolean[1];
- MainView.display.syncExec(new Runnable() {
- public void run() {
- outBool[0] = (tmodel != null);
- }
- });
-
-
- if (outBool[0] && (reqSaved < 50)) {
- final String[] outString = new String[1];
- MainView.display.syncExec(new Runnable() {
- public void run() {
- outString[0] = tmodel.getItem(tableIndex).getText(MainView.REQ_COLUMN);
- }
- });
-
- String old = outString[0];
- old = old + new String(buffer, saved, len);
- if (old.length() > 50) {
- old = old.substring(0, 50);
- }
- reqSaved = old.length();
- if ((i = old.indexOf('\n')) > 0) {
- old = old.substring(0, i - 1);
- reqSaved = 50;
- }
-
- final String inputString = old;
- MainView.display.syncExec(new Runnable() {
- public void run() {
- tmodel.getItem(tableIndex).setText(MainView.REQ_COLUMN, inputString);
- }
- });
- }
-
-
- if (xmlFormat) {
-
- // Do XML Formatting
- boolean inXML = false;
- int bufferLen = saved;
- if (len != -1) {
- bufferLen += len;
- }
- i1 = 0;
- i2 = 0;
- saved = 0;
- for (; i1 < bufferLen; i1++) {
-
- // Except when we're at EOF, saved last char
- if ((len != -1) && (i1 + 1 == bufferLen)) {
- saved = 1;
- break;
- }
- thisIndent = -1;
- if ((buffer[i1] == '<')
- && (buffer[i1 + 1] != '/')) {
- previousIndent = nextIndent++;
- thisIndent = nextIndent;
- inXML = true;
- }
- if ((buffer[i1] == '<')
- && (buffer[i1 + 1] == '/')) {
- if (previousIndent > nextIndent) {
- thisIndent = nextIndent;
- }
- previousIndent = nextIndent--;
- inXML = true;
- }
- if ((buffer[i1] == '/')
- && (buffer[i1 + 1] == '>')) {
- previousIndent = nextIndent--;
- inXML = true;
- }
- if (thisIndent != -1) {
- if (thisIndent > 0) {
- tmpbuffer[i2++] = (byte) '\n';
- }
- for (i = tabWidth * thisIndent; i > 0; i--) {
- tmpbuffer[i2++] = (byte) ' ';
- }
- }
- atMargin = ((buffer[i1] == '\n')
- || (buffer[i1] == '\r'));
- if (!inXML || !atMargin) {
- tmpbuffer[i2++] = buffer[i1];
- }
- }
-
- final String inputString = new String(tmpbuffer, 0, i2);
- MainView.display.syncExec(new Runnable() {
- public void run() {
- textArea.append(inputString);
- }
- });
-
- // Shift saved bytes to the beginning
- for (i = 0; i < saved; i++) {
- buffer[i] = buffer[bufferLen - saved + i];
- }
- } else {
- final String inputString = new String(buffer, 0, len);
- MainView.display.syncExec(new Runnable() {
- public void run() {
- textArea.append(inputString);
- }
- });
- }
+ protected String getSavedFirstLine() {
+ final String[] result = new String[1];
+ MainView.display.syncExec(new Runnable() {
+ public void run() {
+ result[0] = tmodel.getItem(tableIndex).getText(MainView.REQ_COLUMN);
}
-
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- done = true;
- try {
- if (out != null) {
- out.flush();
- if (null != outSocket) {
- outSocket.shutdownOutput();
- } else {
- out.close();
- }
- out = null;
- }
- } catch (Exception e) {
+ });
+ return result[0];
+ }
+
+ protected void setSavedFirstLine(final String value) {
+ MainView.display.syncExec(new Runnable() {
+ public void run() {
+ tmodel.getItem(tableIndex).setText(MainView.REQ_COLUMN, value);
}
- try {
- if (in != null) {
- if (inSocket != null) {
- inSocket.shutdownInput();
- } else {
- in.close();
- }
- in = null;
- }
- } catch (Exception e) {
+ });
+ }
+
+ protected void appendData(final String data) {
+ MainView.display.syncExec(new Runnable() {
+ public void run() {
+ textArea.append(data);
}
- myConnection.wakeUp();
- }
+ });
}
- /**
- * Method halt
- */
- public void halt() {
- try {
- if (inSocket != null) {
- inSocket.close();
- }
- if (outSocket != null) {
- outSocket.close();
- }
- inSocket = null;
- outSocket = null;
- if (in != null) {
- in.close();
- }
- if (out != null) {
- out.close();
- }
- in = null;
- out = null;
- done = true;
- } catch (Exception e) {
- e.printStackTrace();
- }
+ protected void onFinish() {
+ myConnection.wakeUp();
}
}