source: trunk/src/org/expeditee/actions/IDE.java@ 298

Last change on this file since 298 was 298, checked in by ra33, 16 years ago

Adding networking stuff for peer to peer sharing of frames

File size: 2.0 KB
Line 
1package org.expeditee.actions;
2
3import java.awt.Color;
4import java.io.BufferedReader;
5import java.io.InputStreamReader;
6
7import org.expeditee.agents.WriteTree;
8import org.expeditee.gui.DisplayIO;
9import org.expeditee.gui.Frame;
10import org.expeditee.gui.MessageBay;
11
12public class IDE {
13 public static void CompileClass() {
14 Frame source = DisplayIO.getCurrentFrame();
15 String title = source.getTitleItem().getText();
16 String[] tokens = title.split("\\s+");
17 String className = tokens[tokens.length - 1];
18 String fileName = "expeditee/src/" + className + ".java";
19 WriteTree wt = new WriteTree("java", fileName);
20 if (wt.initialise(source, null)) {
21 wt.run();
22 try {
23 Runtime.getRuntime().exec("javac -d expeditee/bin " + fileName);
24 MessageBay.displayMessage("Compiled " + fileName, Color.darkGray);
25 } catch (Exception e) {
26 MessageBay.errorMessage("Could not compile class!");
27 }
28 } else {
29 MessageBay.errorMessage("Could not initialise agent!");
30 }
31 }
32
33 public static String getClassName(Frame source) {
34 return source.getTitleItem().getText().trim();
35 //String title = source.getTitle().getTextNoList();
36 //String[] tokens = title.split(" ");
37 //return tokens[tokens.length - 1];
38 }
39
40 public static void RunClass() {
41 Frame source = DisplayIO.getCurrentFrame();
42 String className = getClassName(source);
43 try {
44 Process p = Runtime.getRuntime().exec("java -cp expeditee/bin " + className);
45 BufferedReader stdInput = new BufferedReader(new InputStreamReader(
46 p.getInputStream()));
47 BufferedReader stdError = new BufferedReader(new InputStreamReader(
48 p.getErrorStream()));
49 String message = "";
50 while ((message = stdInput.readLine()) != null) {
51 MessageBay.displayMessage(message);
52 }
53 while ((message = stdError.readLine()) != null) {
54 MessageBay.errorMessage(message);
55 }
56 } catch (Exception e) {
57 MessageBay.errorMessage("Could not run class!");
58 }
59 }
60
61 public static void CompileAndRunClass() {
62 CompileClass();
63 RunClass();
64 }
65}
Note: See TracBrowser for help on using the repository browser.