62 |
62 |
63 private final static int TRANS_MATHML = 2; |
63 private final static int TRANS_MATHML = 2; |
64 |
64 |
65 private int transport_mode_ = TRANS_STRING; |
65 private int transport_mode_ = TRANS_STRING; |
66 |
66 |
67 JPanel panel; |
67 JPanel panel_; |
68 |
68 |
69 JTextArea textArea; |
69 JTextArea text_area_; |
70 |
70 |
71 JScrollPane scrollPane; |
71 JScrollPane scroll_pane_; |
72 |
72 |
73 private Thread thread_clients2kernel_; |
73 private Thread thread_clients2kernel_; |
74 |
74 |
75 private Thread thread_sml_; |
75 private Thread thread_sml_; |
76 |
76 |
111 BridgeMain(String iniPath) { |
111 BridgeMain(String iniPath) { |
112 //hack for suppressing warning messages |
112 //hack for suppressing warning messages |
113 //(no longer nescessary with j2sdk1.4.2) |
113 //(no longer nescessary with j2sdk1.4.2) |
114 //System.setProperty("java.util.prefs.syncInterval", "20000000000"); |
114 //System.setProperty("java.util.prefs.syncInterval", "20000000000"); |
115 |
115 |
116 logger.warn("BridgeMain obj.init: ini_path_=" + iniPath); |
116 logger_.warn("BridgeMain obj.init: ini_path_=" + iniPath); |
117 this.ini_path_ = iniPath; |
117 this.ini_path_ = iniPath; |
118 readProperties(); |
118 readProperties(); |
119 |
119 |
120 bridge_logger_ = new BridgeLogger(path_); |
120 bridge_logger_ = new BridgeLogger(path_); |
121 client_list_ = new ClientList(); |
121 client_list_ = new ClientList(); |
124 startThreadsFirstTime(); |
124 startThreadsFirstTime(); |
125 } |
125 } |
126 |
126 |
127 private void setUpBridgeLog() { |
127 private void setUpBridgeLog() { |
128 this.setLocation(700, 250); |
128 this.setLocation(700, 250); |
129 panel = new JPanel(); |
129 panel_ = new JPanel(); |
130 panel.setSize(200, 300); |
130 panel_.setSize(200, 300); |
131 panel.setLayout(new BorderLayout()); |
131 panel_.setLayout(new BorderLayout()); |
132 panel.setBackground(Color.white); |
132 panel_.setBackground(Color.white); |
133 |
133 |
134 textArea = new JTextArea(); |
134 text_area_ = new JTextArea(); |
135 textArea.setFont(new Font("Monospaced", 0, 11)); |
135 text_area_.setFont(new Font("Monospaced", 0, 11)); |
136 scrollPane = new JScrollPane(textArea, |
136 scroll_pane_ = new JScrollPane(text_area_, |
137 JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, |
137 JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, |
138 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); |
138 JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); |
139 panel.add("Center", scrollPane); |
139 panel_.add("Center", scroll_pane_); |
140 getContentPane().add(panel); |
140 getContentPane().add(panel_); |
141 |
141 |
142 setTitle("BridgeLog Java <=> SML"); |
142 setTitle("BridgeLog Java <=> SML"); |
143 WindowListener l = new WindowAdapter() { |
143 WindowListener l = new WindowAdapter() { |
144 |
144 |
145 public void windowClosing(WindowEvent e) { |
145 public void windowClosing(WindowEvent e) { |
210 } |
210 } |
211 } |
211 } |
212 |
212 |
213 //Start sml Threads and catch in- and output-streams |
213 //Start sml Threads and catch in- and output-streams |
214 private void startSMLThread() { |
214 private void startSMLThread() { |
215 logger.warn("startSMLThread"); |
215 logger_.warn("startSMLThread"); |
216 SMLThread smlThread = new SMLThread(this, kernel_exec_, kernel_args_); |
216 SMLThread smlThread = new SMLThread(this, kernel_exec_, kernel_args_); |
217 thread_sml_ = new Thread(smlThread, "java_bridge_execution"); |
217 thread_sml_ = new Thread(smlThread, "java_bridge_execution"); |
218 thread_sml_.setDaemon(true); |
218 thread_sml_.setDaemon(true); |
219 // daemon threads: discontinue running after main application is |
219 // daemon threads: discontinue running after main application is |
220 // finished |
220 // finished |
242 //log(1, sml_writer_.toString()); |
242 //log(1, sml_writer_.toString()); |
243 //log(1, sml_reader_.toString()); |
243 //log(1, sml_reader_.toString()); |
244 } |
244 } |
245 |
245 |
246 private void startThreadsFirstTime() { |
246 private void startThreadsFirstTime() { |
247 logger.warn("startThreadsFirstTime"); |
247 logger_.warn("startThreadsFirstTime"); |
248 startSMLThread(); |
248 startSMLThread(); |
249 |
249 |
250 Clients2KernelServer c2k = new Clients2KernelServer(this); |
250 Clients2KernelServer c2k = new Clients2KernelServer(this); |
251 thread_clients2kernel_ = new Thread(c2k, "java_bridge_clients2kernel"); |
251 thread_clients2kernel_ = new Thread(c2k, "java_bridge_clients2kernel"); |
252 thread_clients2kernel_.setDaemon(true); |
252 thread_clients2kernel_.setDaemon(true); |
366 * @param msg |
366 * @param msg |
367 * the message to be logged |
367 * the message to be logged |
368 */ |
368 */ |
369 public void log(int level, String msg) { |
369 public void log(int level, String msg) { |
370 this.bridge_logger_.log(level, msg); |
370 this.bridge_logger_.log(level, msg); |
371 this.textArea.append(msg + "\n"); |
371 this.text_area_.append(msg + "\n"); |
372 } |
372 } |
373 |
373 |
374 public ClientList getClientList() { |
374 public ClientList getClientList() { |
375 return client_list_; |
375 return client_list_; |
376 } |
376 } |
377 |
377 |
378 public BufferedReader getSmlReader() { |
378 public BufferedReader getSmlReader() { |
379 logger.warn("getSmlReader x"); |
379 logger_.warn("getSmlReader x"); |
380 return sml_reader_; |
380 return sml_reader_; |
381 } |
381 } |
382 |
382 |
383 public PrintWriter getSmlWriter() { |
383 public PrintWriter getSmlWriter() { |
384 return sml_writer_; |
384 return sml_writer_; |
395 public int getSocketPort() { |
395 public int getSocketPort() { |
396 return socket_port_; |
396 return socket_port_; |
397 } |
397 } |
398 |
398 |
399 public void setRMI(BridgeRMI bridgeRMI) { |
399 public void setRMI(BridgeRMI bridgeRMI) { |
400 logger.warn("setRMI: bridge_rmi_=" + bridgeRMI); |
400 logger_.warn("setRMI: bridge_rmi_=" + bridgeRMI); |
401 this.bridge_rmi_ = bridgeRMI; |
401 this.bridge_rmi_ = bridgeRMI; |
402 bridgeRMI.setRmiID(1); //only one BridgeRMI used so far |
402 bridgeRMI.setRmiID(1); //only one BridgeRMI used so far |
403 } |
403 } |
404 |
404 |
405 boolean isRestoring() { |
405 boolean isRestoring() { |