edu.isi.pegasus.planner.refiner
Class CreateDirectory

java.lang.Object
  extended by edu.isi.pegasus.planner.refiner.Engine
      extended by edu.isi.pegasus.planner.refiner.CreateDirectory

public class CreateDirectory
extends Engine

This common interface that identifies the basic functions that need to be implemented to introduce random directories in which the jobs are executed on the remote execution pools. The implementing classes are invoked when the user gives the --randomdir option. The implementing classes determine where in the graph the nodes creating the random directories are placed and their dependencies with the rest of the nodes in the graph.

Version:
$Revision: 2582 $
Author:
Karan Vahi, Gaurang Mehta

Field Summary
protected  ADag mCurrentDag
          It is a reference to the Concrete Dag so far.
static String PACKAGE_NAME
          The name of the package in which all the implementing classes are.
 
Fields inherited from class edu.isi.pegasus.planner.refiner.Engine
mBag, mLogger, mLogMsg, mOutputPool, mPoolFile, mPOptions, mProps, mRLIUrl, mSiteStore, mTCFile, mTCHandle, mTCMode, REGISTRATION_UNIVERSE, TRANSFER_UNIVERSE
 
Constructor Summary
protected CreateDirectory(PegasusBag bag)
          A pratically nothing constructor !
 
Method Summary
 ADag addCreateDirectoryNodes(ADag dag)
          It modifies the concrete dag passed in the constructor and adds the create random directory nodes to it at the root level.
static Implementation loadCreateDirectoryImplementationInstance(PegasusBag bag)
          Loads the implementing class corresponding to the mode specified by the user at runtime.
static Strategy loadCreateDirectoryStraegyInstance(PegasusBag bag)
          Loads the implementing class corresponding to the mode specified by the user at runtime.
 
Methods inherited from class edu.isi.pegasus.planner.refiner.Engine
addVector, appendArrayList, loadProperties, printVector, stringInList, stringInPegVector, stringInVector, vectorToString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PACKAGE_NAME

public static final String PACKAGE_NAME
The name of the package in which all the implementing classes are.

See Also:
Constant Field Values

mCurrentDag

protected ADag mCurrentDag
It is a reference to the Concrete Dag so far.

Constructor Detail

CreateDirectory

protected CreateDirectory(PegasusBag bag)
A pratically nothing constructor !

Parameters:
bag - bag of initialization objects
Method Detail

loadCreateDirectoryStraegyInstance

public static Strategy loadCreateDirectoryStraegyInstance(PegasusBag bag)
                                                   throws FactoryException
Loads the implementing class corresponding to the mode specified by the user at runtime.

Parameters:
bag - bag of initialization objects
Returns:
instance of a CreateDirecctory implementation
Throws:
FactoryException - that nests any error that might occur during the instantiation of the implementation.

loadCreateDirectoryImplementationInstance

public static Implementation loadCreateDirectoryImplementationInstance(PegasusBag bag)
                                                                throws FactoryException
Loads the implementing class corresponding to the mode specified by the user at runtime.

Parameters:
bag - bag of initialization objects
Returns:
instance of a CreateDirecctory implementation
Throws:
FactoryException - that nests any error that might occur during the instantiation of the implementation.

addCreateDirectoryNodes

public ADag addCreateDirectoryNodes(ADag dag)
It modifies the concrete dag passed in the constructor and adds the create random directory nodes to it at the root level. These directory nodes have a common child that acts as a concatenating job and ensures that Condor does not start staging in the data before the directories have been added. The root nodes in the unmodified dag are now chidren of this concatenating dummy job.

Parameters:
dag - the workflow to which nodes have to be added
Returns:
workflow with nodes added.


Copyright © 2011 The University of Southern California. All Rights Reserved.