154 lines
4.1 KiB
Java
154 lines
4.1 KiB
Java
package wsi.ra.jproxy;
|
|
/**
|
|
* Title: The JProxy Framework
|
|
* Description: API for distributed and parallel computing.
|
|
* Copyright: Copyright (c) 2004
|
|
* Company: University of Tuebingen
|
|
* @version: $Revision: 1.1 $
|
|
* $Date: 2004/04/15 09:12:30 $
|
|
* $Author: ulmerh $
|
|
*/
|
|
/*==========================================================================*
|
|
* IMPORTS
|
|
*==========================================================================*/
|
|
import java.io.BufferedReader;
|
|
import java.io.InputStreamReader;
|
|
|
|
/*==========================================================================*
|
|
* CLASS DECLARATION
|
|
*==========================================================================*/
|
|
/**
|
|
*
|
|
*/
|
|
public class MainAdapterImpl implements MainAdapter {
|
|
static final public String MAIN_ADAPTER_NAME = "MainRemoteObjectName";
|
|
static final public int PORT = 1099;
|
|
static public boolean TRACE = false;
|
|
private String m_Buf = "";
|
|
private MainAdapter m_RemoteThis;
|
|
/**
|
|
*
|
|
*/
|
|
public MainAdapterImpl() {
|
|
if (TRACE) System.out.println("Constructor MainAdapterImpl !!!!!!");
|
|
m_RemoteThis = this;
|
|
}
|
|
/**
|
|
*
|
|
*/
|
|
public void setBuf(String s) {
|
|
if (TRACE) System.out.println("MainAdapterImpl.setBuf:"+s);
|
|
m_Buf = s;
|
|
}
|
|
/**
|
|
*
|
|
*/
|
|
public void restartServer() {
|
|
System.out.println("Received message to restartServer !!!!");
|
|
try {
|
|
String command = "java -cp . eva2.server.EvAServer &";
|
|
|
|
System.out.println("Calling the command:"+"java eva2.server.EvAServer");
|
|
Process pro = Runtime.getRuntime().exec(command);
|
|
BufferedReader in = new BufferedReader ( new InputStreamReader (pro.getInputStream()));
|
|
// String line = null;
|
|
// while((line = in.readLine()) != null ) {
|
|
// System.out.println(line);
|
|
// Out = Out + line;
|
|
// }
|
|
System.out.println("command="+command);
|
|
} catch (Exception e) {
|
|
System.out.println("Error in calling the command:"+e.getMessage());
|
|
}
|
|
killServer();
|
|
}
|
|
/**
|
|
*
|
|
*/
|
|
public void killServer() {
|
|
//Mail.SendMail("Received message to kill EvAServer");
|
|
System.out.println("Received message to kill EvAServer !!!!");
|
|
KillThread x = new KillThread();
|
|
x.start();
|
|
return;
|
|
}
|
|
|
|
/**
|
|
*
|
|
*/
|
|
public String getBuf() {
|
|
return m_Buf;
|
|
}
|
|
/**
|
|
*
|
|
*/
|
|
public String getExecOutput(String command) {
|
|
String Out= new String();
|
|
try {
|
|
BufferedReader in = null;
|
|
Process pro = null;
|
|
if (TRACE) System.out.println("Calling the command:"+command);
|
|
pro = Runtime.getRuntime().exec(command);
|
|
in = new BufferedReader ( new InputStreamReader (pro.getInputStream()));
|
|
String line = null;
|
|
while((line = in.readLine()) != null ) {
|
|
if (TRACE) System.out.println(line);
|
|
Out = Out + line;
|
|
}
|
|
} catch (Exception e) {
|
|
System.err.println("Error in calling the command:"+e.getMessage());
|
|
}
|
|
return Out;
|
|
}
|
|
/**
|
|
*
|
|
*/
|
|
public RMIInvocationHandler getRMIHandler(Object obj) {
|
|
System.out.println("getRMIHandler");
|
|
RMIInvocationHandler ret = null;
|
|
try {
|
|
ret = new RMIInvocationHandlerImpl(obj);
|
|
}
|
|
catch (Exception e) {
|
|
System.out.println("Error: RMIInvokationHandler getRMIHandler");
|
|
}
|
|
return ret;
|
|
}
|
|
/**
|
|
*
|
|
*/
|
|
public RMIThreadInvocationHandler getRMIThreadHandler(Object obj) {
|
|
if (TRACE) System.out.println("getRMIThreadHandler");
|
|
RMIThreadInvocationHandler ret = null;
|
|
try {
|
|
|
|
ret = new RMIThreadInvocationHandlerImpl(obj);
|
|
}
|
|
catch (Exception e) {
|
|
System.out.println("Error: RMIThreadInvokationHandler getRMIThreadHandler");
|
|
}
|
|
return ret;
|
|
}
|
|
/**
|
|
*
|
|
*/
|
|
public void setRemoteThis (MainAdapter x) {
|
|
m_RemoteThis = x;
|
|
}
|
|
}
|
|
/**
|
|
*
|
|
*/
|
|
class KillThread extends Thread {
|
|
/**
|
|
*
|
|
*/
|
|
public void run() {
|
|
try {sleep(3000);}
|
|
catch(Exception e) {
|
|
System.out.println("Error in sleep");
|
|
}
|
|
System.exit(-1);
|
|
}
|
|
}
|