public class SRBProxyCommand extends TypedAtomicActor
SProxyCommand is a Kepler Actor which has a functionality similar to the SRB command namely "Spcommand". Spcommand performs the remote execution of arbitrary commands (executables) installed in a specific predefined directory on the remote host. SProxyCommand actor executes proxy commands on the SRB. The following actor expects as input a reference to the SRB file system. This reference connection is obtained via the SRBConnect Actor in Kepler. See SRBConnect and its documentation.
The file reference system is created with a unique SRB user account and with this connection reference as input the SProxyCommand actor is able to gain access to the SRB file space. Once an alive SRB file connection system has been established the actor gets the command port and parameters to be executed as input from the user.The arguments to the command are take in as input and implemented as a multi/input port to support more than one argument. It concatanates the inputs in all the channels.
Actor Input: Accepts a reference to the SRB files system, command and arguments to be executed as well as the outputfile name (optional)
Actor Output: Outputs the result of execution of the proxy command as well as an outputfilehandle (if the outfile path exists)
The following actor accesses SRB file reference system and SRB file space with the SRB Jargon API provided. The JARGON is a pure API for developing programs with a data grid interface and I/O for SRB file systems.
Further information on SRBEntity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
TypedIOPort |
arguments
The arguments to the command.
|
TypedIOPort |
command
command port to be executed.
|
StringParameter |
commandParameter
command parameter to be executed.
|
Parameter |
hasTrigger
Unhide the trigger port when this parameter is true.
|
SingletonParameter |
hide |
TypedIOPort |
outfileHandle
The output file path, if exists.
|
TypedIOPort |
output
The result stream of the command.
|
FileParameter |
outputFile
Filled in if the user wants the command to output to a file.
|
TypedIOPort |
outputFileName
The output file name is set by previous processes.
|
Parameter |
outputLineByLine
If selected, broadcasts the output of the command line by line.
|
TypedIOPort |
SRBFileSystem
pointer to the SRB file system.
|
TypedIOPort |
trigger
The trigger port.
|
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
SRBProxyCommand(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name.
|
Modifier and Type | Method and Description |
---|---|
void |
attributeChanged(Attribute attribute)
If the specified attribute is showTriggerPort, then get the value
of it and re-render the trigger port.
|
void |
fire()
Sends a proxy command to be executed on SRB.
|
void |
initialize()
Initialize the srb file system to null.
|
void |
wrapup()
Disconnect from SRB.
|
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, preinitialize, removeInitializable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public SingletonParameter hide
public TypedIOPort SRBFileSystem
public TypedIOPort command
public StringParameter commandParameter
public FileParameter outputFile
public TypedIOPort outputFileName
public TypedIOPort arguments
public TypedIOPort trigger
public TypedIOPort outfileHandle
public TypedIOPort output
public Parameter outputLineByLine
public Parameter hasTrigger
public SRBProxyCommand(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor.IllegalActionException
- If the actor cannot be contained by the proposed
container.NameDuplicationException
- If the container already has an actor with this name.public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class NamedObj
attribute
- The attribute that has changed.IllegalActionException.
IllegalActionException
- If the change is not acceptable
to this container (not thrown in this base class).public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor<TypedIOPort>
IllegalActionException
- If there is no director.public void initialize() throws IllegalActionException
initialize
in interface Initializable
initialize
in class AtomicActor<TypedIOPort>
IllegalActionException
- If a derived class throws it.public void wrapup()
wrapup
in interface Initializable
wrapup
in class AtomicActor<TypedIOPort>