From 07b21d7b16634eaf4d379e515f7905a3250a28f7 Mon Sep 17 00:00:00 2001
From: Sven Robertz <sven@cs.lth.se>
Date: Tue, 9 Jul 2013 17:25:00 +0200
Subject: [PATCH] cleanup

---
 examples/dynamic/TestLabcommGen.java | 210 +++++++++++++--------------
 1 file changed, 104 insertions(+), 106 deletions(-)

diff --git a/examples/dynamic/TestLabcommGen.java b/examples/dynamic/TestLabcommGen.java
index 85cf0b0..a028e38 100644
--- a/examples/dynamic/TestLabcommGen.java
+++ b/examples/dynamic/TestLabcommGen.java
@@ -27,8 +27,7 @@ import beaver.Parser.Exception;
 
 public class TestLabcommGen {
 
-	private static final String FOO = "foo";
-	private static final String BAR = "bar";
+	private static final String SAMPLE_NAME_FOO = "foo";
 
 	static class HandlerSrc {
 		private String sampleName;
@@ -57,14 +56,12 @@ public class TestLabcommGen {
 		String labcommStr = readLabcommDecl(args[0]);
 		String srcStr = readHandlerDecl(args[1]);
 
-
+		/*Map<sample name, handler code>*/
 		HashMap <String, String> handlers = new HashMap<String, String>();
 
-//		handlers.put(FOO, "public void handle_"+FOO+"("+FOO+" value) {\nSystem.out.println(value.x);\nSystem.out.println(value.y);\nSystem.out.println(value.z);}");
-//		handlers.put(BAR, "public void handle_"+BAR+"(int value) {System.out.println(value);}");
-		
 		generateHandlers(srcStr, handlers);
-		System.out.println("=======*******=========");
+
+		System.out.println("*** Generated handler source:");
 		handlers.keySet();
 		
 		for (String n : handlers.keySet()) {
@@ -81,14 +78,14 @@ public class TestLabcommGen {
 
 			String tmpFile = args[2];
 			System.out.println("*** Testing writing and reading file "+tmpFile);
-			encodeTest(irc, tmpFile);
-			decodeTest(irc, tmpFile);
+			encodeTest(irc, SAMPLE_NAME_FOO, tmpFile);
+			decodeTest(irc, SAMPLE_NAME_FOO, tmpFile);
 		}
 	}
 	public static void generateHandlers(String srcStr, HashMap<String,String> handlers) {
 		int pos = 0;	
 		while(pos < srcStr.length()) {
-			System.out.println("--------");
+//			System.out.println("--------");
 			int nameEnd = srcStr.indexOf(':', pos);
 			if(nameEnd <0) break;
 
@@ -157,14 +154,99 @@ public class TestLabcommGen {
 		return labcommStr;
 	}
 
-	private static void decodeTest(InRAMCompiler irc, String tmpFile) {
+	public static InRAMCompiler generateCode(String lcDecl, HashMap<String, String> handlers) {
+		Program ast = null;
+		InputStream in = new ByteArrayInputStream(lcDecl.getBytes());
+		LabCommScanner scanner = new LabCommScanner(in);
+		LabCommParser parser = new LabCommParser();
+		Collection errors = new LinkedList();
+
+		InRAMCompiler irc = null;
+		try {
+			Program p = (Program)parser.parse(scanner);
+			p.errorCheck(errors);
+			if (errors.isEmpty()) {
+				ast = p;
+			} else {
+				System.out.println("*** Errors:");
+				for (Iterator iter = errors.iterator(); iter.hasNext(); ) {
+					String s = (String)iter.next();
+					System.out.println(s);
+				}
+			}
+		} catch (IOException e) {
+			e.printStackTrace();
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+
+		if (ast != null) {
+			irc = handleAst(ast, handlers);
+		} else {
+			System.err.println("compilation failed");
+		}
+		return irc;
+	}
+
+	/** generate labcomm code and compile handlers 
+	 *
+	 * @param lcAST - the AST of the labcomm declaration
+	 * @param handlers - a map <name, source> of handlers for the types in ast
+	 * @return an InRAMCompiler object containing the generated clases
+	 */
+	private static InRAMCompiler handleAst(Program lcAST, HashMap<String, String> handlers) {
+		Map<String, String> genCode = new HashMap<String, String>();
+		try {
+			lcAST.J_gen(genCode, "labcomm.generated");
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		System.out.println("Generated labcomm code:");
+
+		InRAMCompiler irc = new InRAMCompilerJavax("labcomm.generated", null);
+
+		Iterator<String> i = genCode.keySet().iterator();
+		while(i.hasNext()){
+			final String sampleName = i.next();
+			final String src = genCode.get(sampleName);
+			System.out.println("***"+sampleName+"\n"+src);
+			StringBuilder sb = new StringBuilder();
+			sb.append("package labcomm.generated;\n");
+			sb.append("public class gen_"+sampleName+"Handler implements "+sampleName+".Handler {\n");
+			sb.append(handlers.get(sampleName));
+			sb.append("}\n");
+			System.out.println("-------------------------------------");
+			System.out.println(sb.toString());
+			try {
+				irc.compile(sampleName, src);
+				irc.compile("gen_"+sampleName+"Handler", sb.toString());
+			} catch (IllegalArgumentException e) {
+				e.printStackTrace();
+			} catch (SecurityException e) {
+				e.printStackTrace();
+			} catch (ClassNotFoundException e) {
+				e.printStackTrace();
+			} catch (IllegalAccessException e) {
+				e.printStackTrace();
+			} catch (InvocationTargetException e) {
+				e.printStackTrace();
+			} catch (NoSuchMethodException e) {
+				e.printStackTrace();
+			}
+			System.out.println("================================");
+		}
+		return irc;
+	}
+	/** test method
+	 */
+	private static void decodeTest(InRAMCompiler irc, String sampleName, String tmpFile) {
 		try {
 			FileInputStream in = new FileInputStream(tmpFile);
 			LabCommDecoderChannel dec = new LabCommDecoderChannel(in);
 
-			Class fc = irc.load(FOO);
-			Class hc = irc.load("gen_"+FOO+"Handler");
-			Class hi = irc.load(FOO+"$Handler");
+			Class fc = irc.load(sampleName);
+			Class hc = irc.load("gen_"+sampleName+"Handler");
+			Class hi = irc.load(sampleName+"$Handler");
 
 			Object h = hc.newInstance(); 
 
@@ -178,12 +260,11 @@ public class TestLabcommGen {
 		}
 
 	}
-	private static void encodeTest(InRAMCompiler irc, String tmpFile) {
-		Class<?> hc;
+	/** test encoding
+	 */
+	private static void encodeTest(InRAMCompiler irc, String sampleName, String tmpFile) {
 		try {
-			hc = irc.load("gen_"+FOO+"Handler");
-			Object h = hc.newInstance(); 
-			Class fc = irc.load(FOO);
+			Class fc = irc.load(sampleName);
 			Object f = fc.newInstance();
 			Field x = fc.getDeclaredField("x");
 			Field y = fc.getDeclaredField("y");
@@ -202,50 +283,17 @@ public class TestLabcommGen {
 
 			out.close();
 		} catch (Throwable e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 
 	}
-	public static InRAMCompiler generateCode(String lcDecl, HashMap<String, String> handlers) {
-		Program ast = null;
-		InputStream in = new ByteArrayInputStream(lcDecl.getBytes());
-		LabCommScanner scanner = new LabCommScanner(in);
-		LabCommParser parser = new LabCommParser();
-		Collection errors = new LinkedList();
 
-		InRAMCompiler irc = null;
-		try {
-			Program p = (Program)parser.parse(scanner);
-			p.errorCheck(errors);
-			if (errors.isEmpty()) {
-				ast = p;
-			} else {
-				System.out.println("*** Errors:");
-				for (Iterator iter = errors.iterator(); iter.hasNext(); ) {
-					String s = (String)iter.next();
-					System.out.println(s);
-				}
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		if (ast != null) {
-			irc = handleAst(ast, handlers);
-		} else {
-			System.err.println("compilation failed");
-		}
-		return irc;
-	}
-	/* dummy test creating instances of sample and handler, and calling handle*/
+	/** dummy test creating instances of sample and handler, and calling handle*/
 	private static void dummyTest(InRAMCompiler irc) {
 		try {
-			Class hc = irc.load("gen_"+FOO+"Handler");
+			Class hc = irc.load("gen_"+SAMPLE_NAME_FOO+"Handler");
 			Object h = hc.newInstance(); 
-			Class fc = irc.load(FOO);
+			Class fc = irc.load(SAMPLE_NAME_FOO);
 			Object f = fc.newInstance();
 			Field x = fc.getDeclaredField("x");
 			Field y = fc.getDeclaredField("y");
@@ -255,7 +303,7 @@ public class TestLabcommGen {
 			z.setInt(f, 12);
 			Method m;
 			try {
-				m = hc.getDeclaredMethod("handle_"+FOO, fc);
+				m = hc.getDeclaredMethod("handle_"+SAMPLE_NAME_FOO, fc);
 				m.invoke(h, f);
 			} catch (SecurityException e) {
 				// TODO Auto-generated catch block
@@ -287,54 +335,4 @@ public class TestLabcommGen {
 			e.printStackTrace();
 		}
 	}
-
-	/** generate labcomm code and compile handlers 
-	 *
-	 * @param lcAST - the AST of the labcomm declaration
-	 * @param handlers - a map <name, source> of handlers for the types in ast
-	 * @return an InRAMCompiler object containing the generated clases
-	 */
-	private static InRAMCompiler handleAst(Program lcAST, HashMap<String, String> handlers) {
-		Map<String, String> genCode = new HashMap<String, String>();
-		try {
-			lcAST.J_gen(genCode, "labcomm.generated");
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		System.out.println("Generated labcomm code:");
-
-		InRAMCompiler irc = new InRAMCompilerJavax("labcomm.generated", null);
-
-		Iterator<String> i = genCode.keySet().iterator();
-		while(i.hasNext()){
-			final String sampleName = i.next();
-			final String src = genCode.get(sampleName);
-			System.out.println("***"+sampleName+"\n"+src);
-			StringBuilder sb = new StringBuilder();
-			sb.append("package labcomm.generated;\n");
-			sb.append("public class gen_"+sampleName+"Handler implements "+sampleName+".Handler {\n");
-			sb.append(handlers.get(sampleName));
-			sb.append("}\n");
-			System.out.println("-------------------------------------");
-			System.out.println(sb.toString());
-			try {
-				irc.compile(sampleName, src);
-				irc.compile("gen_"+sampleName+"Handler", sb.toString());
-			} catch (IllegalArgumentException e) {
-				e.printStackTrace();
-			} catch (SecurityException e) {
-				e.printStackTrace();
-			} catch (ClassNotFoundException e) {
-				e.printStackTrace();
-			} catch (IllegalAccessException e) {
-				e.printStackTrace();
-			} catch (InvocationTargetException e) {
-				e.printStackTrace();
-			} catch (NoSuchMethodException e) {
-				e.printStackTrace();
-			}
-			System.out.println("================================");
-		}
-		return irc;
-	}
 }
-- 
GitLab