From 6de6a6b8e1ba3f5b8f2d76ed079f922b4d91d6fd Mon Sep 17 00:00:00 2001
From: Sven Gestegard Robertz <sven.robertz@cs.lth.se>
Date: Mon, 2 Dec 2013 09:16:31 +0100
Subject: [PATCH] added main program for example

---
 examples/tcp/Makefile                         | 15 ++++-
 examples/tcp/labcommTCPtest/Example.java      | 58 +++++++++++++++++++
 .../tcp/labcommTCPtest/client/TestClient.java |  5 +-
 3 files changed, 74 insertions(+), 4 deletions(-)
 create mode 100644 examples/tcp/labcommTCPtest/Example.java

diff --git a/examples/tcp/Makefile b/examples/tcp/Makefile
index 11d69b1..e982202 100644
--- a/examples/tcp/Makefile
+++ b/examples/tcp/Makefile
@@ -3,12 +3,26 @@ LCC=java -jar ${LCDIR}/compiler/labComm.jar
 CLASSPATH=.:${LCDIR}/lib/java/labcomm.jar
 JAVA_PKG=labcommTCPtest
 
+.PHONY : clean run runserver runOSserver runclient
+
+#### The main example #########################
+
+run : ${JAVA_PKG}/Example.class ${JAVA_PKG}/server/TestServer.class ${JAVA_PKG}/client/TestClient.class
+	java -cp ${CLASSPATH} $(<:.class=)
+
+###############################################
+### dependencies and parts ####################
+###############################################
+
 ${JAVA_PKG}/gen/FooSample.java: test.lc
 	${LCC} --javapackage=${JAVA_PKG}.gen --java=${JAVA_PKG}/gen $<
 
 ${JAVA_PKG}/gen/FooSample.class: ${JAVA_PKG}/gen/FooSample.java
 	javac -cp ${CLASSPATH} $<
 
+${JAVA_PKG}/Example.class: ${JAVA_PKG}/Example.java ${JAVA_PKG}/gen/FooSample.class
+	javac -cp ${CLASSPATH} $<
+
 ${JAVA_PKG}/server/TestServer.class: ${JAVA_PKG}/server/TestServer.java ${JAVA_PKG}/gen/FooSample.class
 	javac -cp ${CLASSPATH} $<
 
@@ -18,7 +32,6 @@ ${JAVA_PKG}/server/OneShotServer.class: ${JAVA_PKG}/server/OneShotServer.java ${
 ${JAVA_PKG}/client/TestClient.class: ${JAVA_PKG}/client/TestClient.java ${JAVA_PKG}/gen//FooSample.class
 	javac -cp ${CLASSPATH} $<
 
-.PHONY : clean runserver runclient
 
 runserver : ${JAVA_PKG}/server/TestServer.class
 	java -cp ${CLASSPATH} $(<:.class=)
diff --git a/examples/tcp/labcommTCPtest/Example.java b/examples/tcp/labcommTCPtest/Example.java
new file mode 100644
index 0000000..9d3694f
--- /dev/null
+++ b/examples/tcp/labcommTCPtest/Example.java
@@ -0,0 +1,58 @@
+package labcommTCPtest;
+import labcommTCPtest.server.TestServer;
+import labcommTCPtest.client.TestClient;
+import java.net.Socket;
+import java.net.ServerSocket;
+
+public class Example {
+
+	public static void main(String a[]) {
+		String server = "localhost";
+		int port = 9999;
+		ServerThread serverThread = new ServerThread(port);
+       		ClientThread clientThread = new ClientThread(server, port);
+
+		serverThread.start();
+		clientThread.start();
+	}
+
+
+	private static class ServerThread extends Thread {
+	        private	int port;
+
+		public ServerThread(int port) {
+			this.port = port;
+		}
+		public void run() {
+			try {
+				ServerSocket ss = new ServerSocket(port);
+				Socket s = ss.accept();
+
+				TestServer ts = new TestServer(s);
+				ts.runOne();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+	}
+
+	private static class ClientThread extends Thread {
+		private String server;
+	        private	int port;
+
+		public ClientThread(String server, int port) {
+			this.server = server;
+			this.port = port;
+		}
+		public void run() {
+			try {
+				Socket s = new Socket(server, port);
+				TestClient c = new TestClient(s);
+				c.test();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+	}
+}
+
diff --git a/examples/tcp/labcommTCPtest/client/TestClient.java b/examples/tcp/labcommTCPtest/client/TestClient.java
index e2f9518..ef581dc 100644
--- a/examples/tcp/labcommTCPtest/client/TestClient.java
+++ b/examples/tcp/labcommTCPtest/client/TestClient.java
@@ -37,7 +37,7 @@ public class TestClient implements Handler {
 
 			LabCommDecoderChannel c = new LabCommDecoderChannel(in);
 			FooSample.register(c,this);
-			c.run();
+			c.runOne();
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
@@ -58,8 +58,7 @@ public class TestClient implements Handler {
 	}
 
 	private void printSample(String header, FooSample sample2) throws Exception {
-		System.out.println(header);
-		System.out.format("TestClient.invoke(%d, %d, %d, %f)\n", sample2.x, sample2.y, sample2.t, sample2.d);
+		System.out.format("[TestClient] %s: (%d, %d, %d, %f)\n", header, sample2.x, sample2.y, sample2.t, sample2.d);
 	}
 
 	public void handle_FooSample(FooSample sample2) throws Exception {
-- 
GitLab