Class AbstractStrategy

  • All Implemented Interfaces:
    Strategy
    Direct Known Subclasses:
    HourGlass, Minimal, Tentacles

    public abstract class AbstractStrategy
    extends java.lang.Object
    implements Strategy
    The interface that defines how the cleanup job is invoked and created.
    Version:
    $Revision$
    Author:
    Karan Vahi
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String CREATE_DIR_PREFIX
      Constant prefix for the names of the create directory nodes.
      static java.lang.String CREATE_DIR_SUFFIX
      Constant suffix for the names of the create directory nodes.
      protected Implementation mImpl
      The implementation instance that is used to create a create dir job.
      protected java.lang.String mJobPrefix
      The job prefix that needs to be applied to the job file basenames.
      protected LogManager mLogger
      The handle to the logging object, that is used to log the messages.
      protected SiteStore mSiteStore
      The Site Store handle.
      protected boolean mUseMkdir
      Whether we want to use dirmanager or mkdir directly.
      • Fields inherited from interface edu.isi.pegasus.planner.refiner.createdir.Strategy

        VERSION
    • Field Detail

      • CREATE_DIR_SUFFIX

        public static final java.lang.String CREATE_DIR_SUFFIX
        Constant suffix for the names of the create directory nodes.
        See Also:
        Constant Field Values
      • CREATE_DIR_PREFIX

        public static final java.lang.String CREATE_DIR_PREFIX
        Constant prefix for the names of the create directory nodes.
        See Also:
        Constant Field Values
      • mLogger

        protected LogManager mLogger
        The handle to the logging object, that is used to log the messages.
      • mJobPrefix

        protected java.lang.String mJobPrefix
        The job prefix that needs to be applied to the job file basenames.
      • mUseMkdir

        protected boolean mUseMkdir
        Whether we want to use dirmanager or mkdir directly.
      • mImpl

        protected Implementation mImpl
        The implementation instance that is used to create a create dir job.
      • mSiteStore

        protected SiteStore mSiteStore
        The Site Store handle.
    • Constructor Detail

      • AbstractStrategy

        public AbstractStrategy()
    • Method Detail

      • initialize

        public void initialize​(PegasusBag bag,
                               Implementation impl)
        Intializes the class.
        Specified by:
        initialize in interface Strategy
        Parameters:
        bag - bag of initialization objects
        impl - the implementation instance that creates create dir job
      • getCreateDirJobName

        public java.lang.String getCreateDirJobName​(ADag dag,
                                                    java.lang.String pool)
        It returns the name of the create directory job, that is to be assigned. The name takes into account the workflow name while constructing it, as that is thing that can guarentee uniqueness of name in case of deferred planning.
        Parameters:
        dag - the workflow to which the create dir jobs are being added.
        pool - the execution pool for which the create directory job is responsible.
        Returns:
        String corresponding to the name of the job.
      • getCreateDirSites

        public static java.util.Set getCreateDirSites​(ADag dag)
        Retrieves the sites for which the create dir jobs need to be created. It returns all the sites where the compute jobs have been scheduled.
        Returns:
        a Set containing a list of siteID's of the sites where the dag has to be run.