SmartFrog 3.10.000

org.smartfrog.services.shellscript
Class SFProcessExecutionImpl

java.lang.Object
  extended by org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
      extended by org.smartfrog.sfcore.prim.PrimImpl
          extended by org.smartfrog.services.shellscript.SFProcessExecutionImpl
All Implemented Interfaces:
java.rmi.Remote, SFExecution, SFProcessExecution, SFReadConfig, MessageKeys, Diagnostics, Liveness, Prim, RemoteReferenceResolver, RemoteReferenceResolverHelper

public class SFProcessExecutionImpl
extends PrimImpl
implements Prim, SFProcessExecution, SFReadConfig


Field Summary
 
Fields inherited from class org.smartfrog.sfcore.prim.PrimImpl
refLivenessDelay, refLivenessFactor, sfCompleteName, sfContext, sfDeployHooks, sfDeployWithHooks, sfExportRef, sfIsDeployed, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessCount, sfLivenessDelay, sfLivenessFactor, sfLivenessSender, sfParent, sfStartHooks, sfTerminateWithHooks, termLock
 
Fields inherited from interface org.smartfrog.services.shellscript.SFProcessExecution
ATR_AUTO_START
 
Fields inherited from interface org.smartfrog.services.shellscript.SFExecution
ATR_EXEC, ATR_EXEC_EXIT_CODE, ATR_EXEC_EXIT_CODES, ATR_NAME, ATR_NUMBER_OF_EXECS
 
Fields inherited from interface org.smartfrog.sfcore.common.MessageKeys
CANNOT_LINK_TO_PREDICATE, COMPONENT_TERMINATED, COPY_FAILED, COPY_SERIALIZE_FAILED, ERROR_NO_SECURITY_BUT_REQUIRED, ILLEGAL_BOOLEAN_PARAMETER, ILLEGAL_NUMERIC_PARAMETER, ILLEGAL_STRING_PARAMETER, ILLEGAL_VECTOR_PARAMETER, LIVENESS_SEND_FAILURE, LIVENESS_SEND_FAILURE_IN, MISSING_PARAMETER, MSG_CLASS_NOT_FOUND, MSG_CONNECT_ERR, MSG_CONT_OTHER_DEPLOY, MSG_DEPLOY_COMP_TERMINATED, MSG_DEPLOY_SUCCESS, MSG_DEPLOYWITH_PHASE_FAILED, MSG_DETACH_SUCCESS, MSG_DETACH_TERMINATE_SUCCESS, MSG_ERR_DEPLOY_FROM_URL, MSG_ERR_PARSE, MSG_ERR_RESOLVE_PHASE, MSG_ERR_SF_RUNNING, MSG_ERR_TERM, MSG_FAILED_INET_ADDRESS_LOOKUP, MSG_FAILED_TO_CONTACT_PARENT, MSG_FILE_NOT_FOUND, MSG_HOOK_ACTION_FAILED, MSG_ILLEGAL_ACCESS, MSG_ILLEGAL_CLASS_TYPE, MSG_ILLEGAL_CLASS_TYPE_EXPECTING_GOT, MSG_ILLEGAL_REFERENCE, MSG_INPUTSTREAM_NULL, MSG_INSTANTIATION_ERROR, MSG_INVALID_OBJECT_TYPE, MSG_INVOCATION_TARGET, MSG_LANG_NOT_FOUND, MSG_LIVENESS_START_FAILED, MSG_LOADING_URL, MSG_METHOD_NOT_FOUND, MSG_NON_REP_ATTRIB, MSG_NOT_COMPONENT_REFERENCE, MSG_NOT_FOUND_ATTRIBUTE, MSG_NOT_FOUND_REFERENCE, MSG_NOT_VALUE_REFERENCE, MSG_NULL_DEF_METHOD, MSG_NULL_URL, MSG_OBJECT_REGISTRATION_FAILED, MSG_PARENT_LOCATION_FAILED, MSG_PING_SUCCESS, MSG_RANDM_ERR, MSG_REMOTE_CONNECT_ERR, MSG_REPEATED_ATTRIBUTE, MSG_SF_DEAD, MSG_SF_READY, MSG_SF_TERMINATED, MSG_STACKTRACE_FOLLOWS, MSG_START_COMP_TERMINATED, MSG_TERMINATE_SUCCESS, MSG_UNHANDLED_EXCEPTION, MSG_UNKNOWN_HOST, MSG_UNRESOLVED_REFERENCE, MSG_UNRESOLVED_REFERENCE_IN, MSG_UPDATE_SUCCESS, MSG_URL_NOT_FOUND, MSG_URL_TO_PARSE_NOT_FOUND, MSG_WARNING_LIVENESS_ENABLED, MSG_WARNING_STACKTRACE_DISABLED, MSG_WARNING_STACKTRACE_ENABLED, ROOT_MUST_BE_COMPONENT, WARN_NO_SECURITY
 
Constructor Summary
SFProcessExecutionImpl()
           
 
Method Summary
 java.io.InputStream getStdErrStream()
          Gets the error stream of the subprocess.
 java.io.OutputStream getStdInpStream()
          Gets the output stream of the subprocess.
 java.io.InputStream getStdOutStream()
          Gets the input stream of the subprocess.
 boolean isRunning()
          Is the process ready?
 void kill()
          Kill the process
 void readConfig()
          Reads SF description = initial configuration.
 void restart()
          Restarts the process
 void sfDeploy()
          This method retrieves the paramters from the .sf file.
 void sfStart()
          This sets a flag that will start the httpd process running.
 void sfTerminateWith(TerminationRecord tr)
          This shuts down Apache by requesting that the ApacheState variable be set to false.
 
Methods inherited from class org.smartfrog.sfcore.prim.PrimImpl
equals, hashCode, registerWithProcessCompound, sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfCompleteNameSafe, sfContainsAttribute, sfContainsValue, sfContext, sfDeployedHost, sfDeployedProcessName, sfDeployWith, sfDetach, sfDetachAndTerminate, sfDiagnosticsReport, sfDumpState, sfExport, sfExportRef, sfExportRef, sfGetApplicationLog, sfGetCoreLog, sfGetLog, sfIsDeployed, sfIsRemote, sfIsStarted, sfIsTerminated, sfIsTerminating, sfLivenessFailure, sfLog, sfParent, sfParentageChanged, sfPing, sfRemoveAttribute, sfReplaceAttribute, sfResolve, sfResolve, sfResolveHere, sfResolveHere, sfResolveParent, sfSetLog, sfStartLivenessSender, sfStopLivenessSender, sfTerminate, sfTerminatedWith, sfTerminateQuietlyWith, sfValues, terminateComponent, terminateNotifying, toString
 
Methods inherited from class org.smartfrog.sfcore.reference.RemoteReferenceResolverHelperImpl
sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolveWithParser
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.smartfrog.sfcore.prim.Prim
sfAddAttribute, sfAttributeKeyFor, sfAttributes, sfCompleteName, sfContainsAttribute, sfContainsValue, sfContext, sfDeployedHost, sfDeployedProcessName, sfDeployWith, sfDetach, sfDetachAndTerminate, sfDumpState, sfIsDeployed, sfIsStarted, sfIsTerminated, sfIsTerminating, sfParent, sfParentageChanged, sfRemoveAttribute, sfReplaceAttribute, sfTerminate, sfTerminatedWith, sfTerminateQuietlyWith, sfValues
 
Methods inherited from interface org.smartfrog.sfcore.prim.Liveness
sfPing
 
Methods inherited from interface org.smartfrog.sfcore.reference.RemoteReferenceResolver
sfResolve, sfResolve, sfResolveHere, sfResolveHere, sfResolveParent
 
Methods inherited from interface org.smartfrog.sfcore.reference.RemoteReferenceResolverHelper
sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolve, sfResolveWithParser
 
Methods inherited from interface org.smartfrog.sfcore.prim.Diagnostics
sfDiagnosticsReport
 

Constructor Detail

SFProcessExecutionImpl

public SFProcessExecutionImpl()
                       throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException
Method Detail

readConfig

public void readConfig()
                throws SmartFrogException,
                       java.rmi.RemoteException
Reads SF description = initial configuration. Override this to read/set properties before we read ours, but remember to call the superclass afterwards

Specified by:
readConfig in interface SFExecution
Specified by:
readConfig in interface SFReadConfig
Throws:
SmartFrogException
java.rmi.RemoteException

sfDeploy

public void sfDeploy()
              throws SmartFrogException,
                     java.rmi.RemoteException
This method retrieves the paramters from the .sf file. For the purposes of a demo default paramteres could be hard coded.

Specified by:
sfDeploy in interface Prim
Overrides:
sfDeploy in class PrimImpl
Throws:
SmartFrogException - deployment failure
java.rmi.RemoteException - In case of network/rmi error

sfStart

public void sfStart()
             throws SmartFrogException,
                    java.rmi.RemoteException
This sets a flag that will start the httpd process running.

Specified by:
sfStart in interface Prim
Overrides:
sfStart in class PrimImpl
Throws:
SmartFrogException - starting failure
java.rmi.RemoteException - In cas eof network/rmi error

sfTerminateWith

public void sfTerminateWith(TerminationRecord tr)
This shuts down Apache by requesting that the ApacheState variable be set to false.

Overrides:
sfTerminateWith in class PrimImpl
Parameters:
tr - TerminationRecord object

getStdOutStream

public java.io.InputStream getStdOutStream()
Gets the input stream of the subprocess. The stream obtains data piped from the standard output stream of the process (Process) object.

Implementation note: It is a good idea for the input stream to be buffered.

Specified by:
getStdOutStream in interface SFProcessExecution
Returns:
the input stream connected to the normal output of the subprocess.

getStdErrStream

public java.io.InputStream getStdErrStream()
Gets the error stream of the subprocess. The stream obtains data piped from the error output stream of the process (Process) object.

Implementation note: It is a good idea for the input stream to be buffered.

Specified by:
getStdErrStream in interface SFProcessExecution
Returns:
the input stream connected to the error stream of the subprocess.

getStdInpStream

public java.io.OutputStream getStdInpStream()
Gets the output stream of the subprocess. Output to the stream is piped into the standard input stream of the process (Process) object.

Implementation note: It is a good idea for the output stream to be buffered.

Specified by:
getStdInpStream in interface SFProcessExecution
Returns:
the output stream connected to the normal input of the subprocess.

kill

public void kill()
Kill the process

Specified by:
kill in interface SFProcessExecution

restart

public void restart()
             throws SmartFrogException
Restarts the process

Specified by:
restart in interface SFProcessExecution
Throws:
SmartFrogException

isRunning

public boolean isRunning()
Is the process ready?

Specified by:
isRunning in interface SFProcessExecution
Returns:
boolean

SmartFrog CORE 3.10.000

(C) Copyright 1998-2006 Hewlett-Packard Development Company, LP