|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.proactive.core.process.AbstractUniversalProcess
org.objectweb.proactive.core.process.AbstractExternalProcess
Nested Class Summary | |
static class |
AbstractExternalProcess.NullMessageLogger
Implementation of a RemoteProcessMessageLogger that discard all output |
protected class |
AbstractExternalProcess.ProcessInputHandler
This class reads all messages from an input and log them using a RemoteProcessMessageLogger |
protected class |
AbstractExternalProcess.ProcessOutputHandler
This class uses a MessageSink to write all messages produced in a given output |
static class |
AbstractExternalProcess.SimpleMessageSink
Implementation of a MessageSink that can receive one message at a time |
static class |
AbstractExternalProcess.StandardOutputMessageLogger
Implementation of a RemoteProcessMessageLogger that output all messages to the standard output |
Field Summary | |
protected static org.apache.log4j.Logger |
clogger
|
protected boolean |
closeStream
|
protected RemoteProcessMessageLogger |
errorMessageLogger
|
protected java.lang.Process |
externalProcess
|
protected java.lang.String |
FILE_TRANSFER_DEFAULT_PROTOCOL
|
protected static org.apache.log4j.Logger |
fileTransferLogger
|
protected RemoteProcessMessageLogger |
inputMessageLogger
|
protected static boolean |
IS_WINDOWS_SYSTEM
|
static int |
NO_COMPOSITION
|
protected MessageSink |
outputMessageSink
|
Fields inherited from class org.objectweb.proactive.core.process.AbstractUniversalProcess |
certificateLocation, command, command_path, DEFAULT_HOSTNAME, DEFAULT_USERNAME, environment, hostname, isFinished, isStarted, LOCALHOST, privateKeyLocation, securityFile, username |
Fields inherited from interface org.objectweb.proactive.core.process.UniversalProcess |
logger, UNKNOWN_NODE_NUMBER |
Constructor Summary | |
protected |
AbstractExternalProcess()
|
|
AbstractExternalProcess(RemoteProcessMessageLogger messageLogger)
|
|
AbstractExternalProcess(RemoteProcessMessageLogger inputMessageLogger,
RemoteProcessMessageLogger errorMessageLogger)
|
|
AbstractExternalProcess(RemoteProcessMessageLogger inputMessageLogger,
RemoteProcessMessageLogger errorMessageLogger,
MessageSink outputMessageSink)
|
Method Summary | |
protected abstract java.lang.String |
buildCommand()
|
protected java.lang.String |
buildEnvironmentCommand()
|
protected java.lang.String |
buildUnixEnvironmentCommand()
|
protected java.lang.String |
buildWindowsEnvironmentCommand()
|
void |
closeStream()
Closes Input, Output, Error stream just after forking this process |
int |
getCompositionType()
Returns the type of this process. |
RemoteProcessMessageLogger |
getErrorMessageLogger()
Returns the RemoteProcessMessageLogger handling the error stream of the process |
java.lang.String |
getFileTransferDefaultCopyProtocol()
|
FileTransferWorkShop |
getFileTransferWorkShopDeploy()
This method returns a single FileTransferStructure instance for this process. |
FileTransferWorkShop |
getFileTransferWorkShopRetrieve()
This method returns a single FileTransferStructure instance for this process. |
RemoteProcessMessageLogger |
getInputMessageLogger()
Returns the RemoteProcessMessageLogger handling the input stream of the process |
MessageSink |
getOutputMessageSink()
Returns the MessageSink handling the output stream of the process |
protected void |
handleError(java.io.BufferedReader err)
|
protected void |
handleInput(java.io.BufferedReader in)
|
protected void |
handleOutput(java.io.BufferedWriter out)
|
protected void |
handleProcess(java.io.BufferedReader in,
java.io.BufferedWriter out,
java.io.BufferedReader err)
|
protected boolean |
internalFileTransferDefaultProtocol()
This method should be redefined on every protocol that internaly implements the file transfer. |
protected void |
internalStartFileTransfer(FileTransferWorkShop fts)
Try all the protocols until one is successful. |
protected void |
internalStartProcess(java.lang.String commandToExecute)
|
protected void |
internalStopProcess()
|
protected int |
internalWaitFor()
|
void |
setErrorMessageLogger(RemoteProcessMessageLogger errorMessageLogger)
sets the RemoteProcessMessageLogger handling the error stream of the process |
void |
setInputMessageLogger(RemoteProcessMessageLogger inputMessageLogger)
sets the RemoteProcessMessageLogger handling the input stream of the process |
void |
setOutputMessageSink(MessageSink outputMessageSink)
sets the MessageSink handling the output stream of the process |
Methods inherited from class org.objectweb.proactive.core.process.AbstractUniversalProcess |
checkStarted, getCommand, getCommandPath, getEnvironment, getHostname, getUsername, isFinished, isHierarchical, isStarted, pushProcessAttributes, setCommandPath, setEnvironment, setHostname, setUsername, startFileTransfer, startProcess, stopProcess, toString, toString, waitFor |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.objectweb.proactive.core.process.UniversalProcess |
getCommand, getCommandPath, getEnvironment, getFinalProcess, getHostname, getNodeNumber, getProcessId, getUsername, isFinished, isHierarchical, isStarted, setCommandPath, setEnvironment, setHostname, setUsername, startFileTransfer, startProcess, stopProcess, waitFor |
Field Detail |
protected static org.apache.log4j.Logger clogger
protected static org.apache.log4j.Logger fileTransferLogger
protected static final boolean IS_WINDOWS_SYSTEM
protected java.lang.Process externalProcess
public static final int NO_COMPOSITION
protected boolean closeStream
protected RemoteProcessMessageLogger inputMessageLogger
protected RemoteProcessMessageLogger errorMessageLogger
protected MessageSink outputMessageSink
protected java.lang.String FILE_TRANSFER_DEFAULT_PROTOCOL
Constructor Detail |
protected AbstractExternalProcess()
public AbstractExternalProcess(RemoteProcessMessageLogger messageLogger)
public AbstractExternalProcess(RemoteProcessMessageLogger inputMessageLogger, RemoteProcessMessageLogger errorMessageLogger)
public AbstractExternalProcess(RemoteProcessMessageLogger inputMessageLogger, RemoteProcessMessageLogger errorMessageLogger, MessageSink outputMessageSink)
Method Detail |
public void closeStream()
ExternalProcess
closeStream
in interface ExternalProcess
public RemoteProcessMessageLogger getInputMessageLogger()
ExternalProcess
getInputMessageLogger
in interface ExternalProcess
public RemoteProcessMessageLogger getErrorMessageLogger()
ExternalProcess
getErrorMessageLogger
in interface ExternalProcess
public MessageSink getOutputMessageSink()
ExternalProcess
getOutputMessageSink
in interface ExternalProcess
public void setInputMessageLogger(RemoteProcessMessageLogger inputMessageLogger)
ExternalProcess
setInputMessageLogger
in interface ExternalProcess
inputMessageLogger
- the handler of the input stream of the processpublic void setErrorMessageLogger(RemoteProcessMessageLogger errorMessageLogger)
ExternalProcess
setErrorMessageLogger
in interface ExternalProcess
errorMessageLogger
- the handler of the error stream of the processpublic void setOutputMessageSink(MessageSink outputMessageSink)
ExternalProcess
setOutputMessageSink
in interface ExternalProcess
outputMessageSink
- the handler of the output stream of the processpublic FileTransferWorkShop getFileTransferWorkShopDeploy()
ExternalProcess
getFileTransferWorkShopDeploy
in interface ExternalProcess
public FileTransferWorkShop getFileTransferWorkShopRetrieve()
ExternalProcess
getFileTransferWorkShopRetrieve
in interface ExternalProcess
public java.lang.String getFileTransferDefaultCopyProtocol()
public int getCompositionType()
ExternalProcess
getCompositionType
in interface ExternalProcess
protected abstract java.lang.String buildCommand()
buildCommand
in class AbstractUniversalProcess
protected java.lang.String buildEnvironmentCommand()
protected java.lang.String buildWindowsEnvironmentCommand()
protected java.lang.String buildUnixEnvironmentCommand()
protected void internalStartProcess(java.lang.String commandToExecute) throws java.io.IOException
internalStartProcess
in class AbstractUniversalProcess
java.io.IOException
protected void internalStopProcess()
internalStopProcess
in class AbstractUniversalProcess
protected int internalWaitFor() throws java.lang.InterruptedException
internalWaitFor
in class AbstractUniversalProcess
java.lang.InterruptedException
protected void internalStartFileTransfer(FileTransferWorkShop fts)
internalStartFileTransfer
in class AbstractUniversalProcess
protected boolean internalFileTransferDefaultProtocol()
protected void handleProcess(java.io.BufferedReader in, java.io.BufferedWriter out, java.io.BufferedReader err)
protected void handleInput(java.io.BufferedReader in)
protected void handleError(java.io.BufferedReader err)
protected void handleOutput(java.io.BufferedWriter out)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |