org.globus.cog.karajan.workflow.nodes.grid
Class AbstractGridNode

java.lang.Object
  extended byorg.globus.cog.karajan.workflow.nodes.FlowNode
      extended byorg.globus.cog.karajan.workflow.nodes.FlowContainer
          extended byorg.globus.cog.karajan.workflow.nodes.Sequential
              extended byorg.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments
                  extended byorg.globus.cog.karajan.workflow.nodes.SequentialWithArguments
                      extended byorg.globus.cog.karajan.workflow.nodes.grid.AbstractGridNode
All Implemented Interfaces:
EventListener, ExtendedFlowElement, FlowElement, LoadListener, StatusListener
Direct Known Subclasses:
AbstractFileOperation, GridExec, GridTransfer

public abstract class AbstractGridNode
extends SequentialWithArguments
implements StatusListener


Nested Class Summary
 
Nested classes inherited from class org.globus.cog.karajan.workflow.nodes.FlowNode
FlowNode.FNTP
 
Field Summary
protected  Hashtable tasks
           
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments
commonArguments, QUOTED
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.Sequential
INDEX
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.FlowContainer
CALLER
 
Fields inherited from class org.globus.cog.karajan.workflow.nodes.FlowNode
debug, startCount, TEXT, threadTracker
 
Constructor Summary
AbstractGridNode()
           
 
Method Summary
 void abortEvent(AbortEvent e)
           
protected  Contact getHost(VariableStack stack, String name, Scheduler scheduler)
           
 String getMeaningfulMessage(Exception ex)
           
 Scheduler getScheduler(VariableStack stack)
           
protected  SecurityContext getSecurityContext(VariableStack stack, String provider)
           
protected  Service getService(BoundContact contact, String provider)
           
 void post(VariableStack stack)
           
protected  void removeTask(Task task)
           
 void setSecurityContext(VariableStack stack, Service service)
           
protected  void setSecurityContextIfNotLocal(Service service, SecurityContext sc)
           
 void statusChanged(StatusEvent e)
           
 void submitScheduled(Scheduler scheduler, Task task, VariableStack stack, Object constraints)
           
protected abstract  void submitTask(VariableStack stack)
           
 void submitUnscheduled(TaskHandler handler, Task task, VariableStack stack)
           
protected  void taskCompleted(StatusEvent e, VariableStack stack)
           
protected  void taskFailed(StatusEvent e, VariableStack stack)
           
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.SequentialWithArguments
executeChildren
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.AbstractSequentialWithArguments
argumentsEvaluated, checkArguments, getArgument, getArgument, getArgumentCount, getArgumentIndex, getArgumentNames, getArguments, getMaxArgIndex, getNonpropargs, getPropargs, getQuotedArgs, getSortedArgs, getVargs, getVargsAsArray, hasArgument, hasNestedArguments, hasVariableArguments, initializeArgs, initializeStatic, newNameBindingVariableArguments, newVariableArguments, notificationEvent, pre, processArguments, setArguments, setArguments, setHasVargs, setNestedArgs, setNonpropargs, setQuotedArgs, setVargs
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.Sequential
executeSingle, exit, moreToExecute, startNext
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.FlowContainer
addChannel, execute, isOptimizable, setOptimize
 
Methods inherited from class org.globus.cog.karajan.workflow.nodes.FlowNode
abort, acceptsInlineText, addElement, checkClass, checkCompleted, checkFailed, complete, controlEvent, copy, echo, echo, elementCount, elements, end, event, executeErrorHandler, executeSimple, expandProperty, expandProperty, expandPropertyAsString, fail, fail, failIfNotDefined, failIfNull, failIfNull, failImmediately, failImmediately, failImmediately, fireControlEvent, fireMonitoringEvent, fireNotificationEvent, fireStatusMonitoringEvent, get_locator, getBooleanProperty, getBooleanProperty, getCanonicalType, getElement, getElementType, getIntProperty, getIntProperty, getParent, getProjectNode, getProperty, getStringProperty, getTreeProperty, getVar, hasFrame, hashCode, hasProperty, isCheckpointable, isSimple, isSystemProperty, loadComplete, loadStarted, monitoringEvent, propertyNames, removeProperty, restart, restartElement, ret, ret, set_locator, setAcceptsInlineText, setCheckpointable, setElementType, setFrame, setParent, setProperty, setProperty, setProperty, start, startElement, startElement, toString, verify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

tasks

protected Hashtable tasks
Constructor Detail

AbstractGridNode

public AbstractGridNode()
Method Detail

post

public final void post(VariableStack stack)
                throws ExecutionException
Overrides:
post in class FlowContainer
Throws:
ExecutionException

submitTask

protected abstract void submitTask(VariableStack stack)
                            throws ExecutionException
Throws:
ExecutionException

getScheduler

public Scheduler getScheduler(VariableStack stack)
                       throws ExecutionException
Throws:
ExecutionException

getHost

protected Contact getHost(VariableStack stack,
                          String name,
                          Scheduler scheduler)
                   throws ExecutionException
Throws:
ExecutionException

setSecurityContext

public void setSecurityContext(VariableStack stack,
                               Service service)
                        throws ExecutionException
Throws:
ExecutionException

abortEvent

public void abortEvent(AbortEvent e)
                throws ExecutionException
Throws:
ExecutionException

submitUnscheduled

public void submitUnscheduled(TaskHandler handler,
                              Task task,
                              VariableStack stack)
                       throws ExecutionException
Throws:
ExecutionException

submitScheduled

public void submitScheduled(Scheduler scheduler,
                            Task task,
                            VariableStack stack,
                            Object constraints)

statusChanged

public void statusChanged(StatusEvent e)
Specified by:
statusChanged in interface StatusListener

removeTask

protected void removeTask(Task task)

taskFailed

protected void taskFailed(StatusEvent e,
                          VariableStack stack)
                   throws ExecutionException
Throws:
ExecutionException

getMeaningfulMessage

public String getMeaningfulMessage(Exception ex)

taskCompleted

protected void taskCompleted(StatusEvent e,
                             VariableStack stack)
                      throws ExecutionException
Throws:
ExecutionException

getService

protected Service getService(BoundContact contact,
                             String provider)
                      throws ExecutionException
Throws:
ExecutionException

setSecurityContextIfNotLocal

protected void setSecurityContextIfNotLocal(Service service,
                                            SecurityContext sc)

getSecurityContext

protected SecurityContext getSecurityContext(VariableStack stack,
                                             String provider)
                                      throws InvalidProviderException,
                                             ProviderMethodException,
                                             ExecutionException
Throws:
InvalidProviderException
ProviderMethodException
ExecutionException