Class 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$
    Author:
    Karan Vahi, Gaurang Mehta
    • Field Detail

      • PACKAGE_NAME

        public static final java.lang.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.