Class PlannerOptions

  • All Implemented Interfaces:
    java.lang.Cloneable

    public class PlannerOptions
    extends Data
    implements java.lang.Cloneable
    Holds the information about thevarious options which user specifies to the Concrete Planner at runtime.
    Version:
    $Revision$
    Author:
    Karan Vahi, Gaurang Mehta
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  PlannerOptions.CLEANUP_OPTIONS
      The various cleanup options supported by the planner
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DEFAULT_LOGGING_LEVEL
      The default logging level.
      static int DEFAULT_NUMBER_OF_RESCUE_TRIES
      The value of number of rescue retries if no value is specified
      private boolean mAuthenticate
      Whether to attempt authentication against the jobmanagers for the pools specified at runtime.
      private java.lang.String mBaseDir
      The base submit directory.
      private java.lang.String mBasenamePrefix
      The basename prefix that is to be given to the per workflow file, like the log file, the .dag file, the .cache files etc.
      private java.util.Set<java.lang.String> mCacheFiles
      Set of cache files that need to be used, to determine the location of the transiency files.
      private PlannerOptions.CLEANUP_OPTIONS mCleanup
      An enum tracking what type of cleanup needs to be done.
      private java.lang.String mClusterer
      Denotes what type of clustering needs to be done
      private java.lang.String mConfFile
      The conf option passed to the planner pointing to the properties file.
      private java.util.Date mDate
      Stores the time at which the planning process started.
      private java.lang.String mDAXFile
      The dax file which contains the abstract dag.
      private boolean mDeferredRun
      A boolean indicating whether the planner invocation is part of a larger deferred planning run.
      private boolean mDisplayHelp
      To Display help or not.
      private boolean mForce
      The force option to make a build dag from scratch.
      private boolean mForceReplan
      Returns the force replan option
      private java.util.List<NameValue> mForwardOptions
      The options that need to be passed forward to pegasus-run.
      private boolean mGenRandomDir
      Whether to create a random directory in the execution directory that is determined from the exec mount point in the pool configuration file.
      private java.util.Set<java.lang.String> mInheritedRCFiles
      Set of replica catalog files that are inherited by a planning instance.
      private java.lang.String mInputDir
      the input directory
      private java.lang.String mJobPrefix
      The prefix that is to be applied while constructing job names.
      private int mLoggingLevel
      Denotes the logging level that is to be used for logging the messages.
      private java.lang.String mMegadag
      The megadag generation mode.
      private java.util.Set<java.lang.String> mNonStandardJavaOptions
      The set of non standard java options that need to be passed to the JVM
      private int mNumOfRescueTries
      The numer of rescue's to try before replanning.
      private boolean mOptArg
      Designates if the optional argument to the random directory was given.
      private java.lang.String mOriginalArgumentString
      The argument string with which the planner was invoked.
      private java.lang.String mOutputDir
      the output directory
      private java.lang.String mOutputPool
      The output pool on which the data products are needed to be transferred to.
      private java.lang.String mPartitioningType
      Stores the type of partitioning to be done.
      private java.lang.String mPDAXFile
      The path to the pdax file that contains the partition graph.
      private java.util.Properties mProperties
      The properties container for properties specified on the commandline in the DAX dax elements.
      private java.lang.String mRandomDirName
      If the genRandomDir flag is set, then this contains the name of the random directory.
      private java.lang.String mRelativeDir
      The relative directory for the submit directory and remote execution directory
      private java.lang.String mRelativeSubmitDir
      The relative directory for the submit directory.
      private boolean mSanitizePath
      A boolean storing whether to sanitize paths or not
      private java.lang.String mShiwaBundle
      the path to the shiwa bundle
      private java.util.Map<java.lang.String,​java.lang.String> mStagingSitesMap
      A map that maps an execution site to a staging site.
      private boolean mSubmit
      If specified, then it submits to the underlying CondorG using the kickstart-Condorscript provided.
      private java.util.List mVDSProps
      The list of VDS properties set at runtime by the user on commandline.
      private java.util.Set mvExecPools
      List of execution pools on which the user wants the Dag to be executed.
      private java.lang.String mVOGroup
      The VOGroup to which the user belongs to.
    • Constructor Summary

      Constructors 
      Constructor Description
      PlannerOptions()
      Default Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addToForwardOptions​(java.lang.String argument)
      Parses the argument in form of option=[value] and adds to the options that are to be passed ahead to pegasus-run.
      void addToNonStandardJavaOptions​(java.lang.String option)
      Adds to the Set of non standard JAVA options that need to be passed to the JVM.
      void addToStagingSitesMappings​(java.lang.String value)
      Adds to the staging sites
      void addToStagingSitesMappings​(java.lang.String executionSite, java.lang.String stagingSite)
      Adds to the staging sites
      boolean authenticationSet()
      Returns the authenticate option for the planner.
      java.lang.Object clone()
      Returns a new copy of the Object.
      private java.util.Set cloneSet​(java.util.Set s)
      Clones a Set.
      void decrementLogging()
      Deccrements the logging level by 1.
      boolean generateRandomDirectory()
      Returns whether to generate a random directory or not.
      private java.util.Set generateSet​(java.lang.String str)
      Generates a Set by parsing a comma separated string.
      java.lang.String getBasenamePrefix()
      Returns the basename prefix for the per workflow files that are to be generated by the planner.
      java.lang.String getBaseSubmitDirectory()
      Returns the base submit directory
      java.util.Set getCacheFiles()
      Returns the cache files.
      PlannerOptions.CLEANUP_OPTIONS getCleanup()
      Returns the option indicating whether to do cleanup or not.
      java.lang.String getClusteringTechnique()
      Returns the clustering technique to be used for clustering.
      java.lang.String getCompleteOptions()
      Returns the complete options string that is used to invoke pegasus
      java.lang.String getConfFile()
      Returns the property file pointed to by the --conf option passed to the planner
      java.lang.String getDateTime​(boolean extendedFormat)
      Returns the time at which planning started in a ISO 8601 format.
      java.lang.String getDAX()
      Returns the path to the dax file being used by the planner.
      java.util.Collection getExecutionSites()
      Returns the names of the execution sites where the concrete workflow can be run.
      boolean getForce()
      Returns the force option set for the planner.
      boolean getForceReplan()
      Returns the force replan option
      java.util.List<NameValue> getForwardOptions()
      Returns the forward options set
      boolean getHelp()
      Returns whether to display or not.
      java.util.Set<java.lang.String> getInheritedRCFiles()
      Returns the inherited rc files.
      java.lang.String getInputDirectory()
      Returns the input directory.
      java.lang.String getJobnamePrefix()
      Returns the job prefix to be used while constructing the job names.
      int getLoggingLevel()
      Returns the logging level.
      java.lang.String getMegaDAGMode()
      Returns the megadag generation option .
      java.util.Set<java.lang.String> getNonStandardJavaOptions()
      Returns the Set of non standard java options.
      int getNumberOfRescueTries()
      Returns the number of times to try for rescue dag submission.
      java.lang.String getOriginalArgString()
      Returns the argument string of how planner was invoked.
      java.lang.String getOutputDirectory()
      Returns the output directory
      java.lang.String getOutputSite()
      Returns the output site where to stage the output .
      java.lang.String getPartitioningType()
      Returns the partitioning type in case of partition and plan.
      java.lang.String getPDAX()
      Returns the path to the PDAX file being used by the planner.
      java.lang.String getRandomDir()
      Returns the random directory option.
      java.lang.String getRandomDirName()
      Returns the name of the random directory, only if the generate Random Dir flag is set.
      java.lang.String getRelativeDirectory()
      Returns the relative directory.
      java.lang.String getRelativeSubmitDirectory()
      Returns the relative submit directory.
      java.lang.String getRelativeSubmitDirectoryOption()
      Returns the relative submit directory option.
      java.lang.String getShiwaBundle()
      Returns the Shiwa Bundle set
      java.lang.String getStagingSite​(java.lang.String executionSite)
      Returns the staging site for an execution site.
      java.lang.String getSubmitDirectory()
      Returns the path to the directory where the submit files are to be generated.
      java.util.List getVDSProperties()
      Returns the VDS properties that were set by the user.
      java.lang.String getVOGroup()
      Returns the VO Group to which the user belongs
      void incrementLogging()
      Increments the logging level by 1.
      boolean optionalArgSet()
      Returns the flag to denote whether the optional argument for the random was specified or not.
      boolean partOfDeferredRun()
      Returns a boolean indicating whether this invocation is part of a deferred execution or not.
      private java.lang.String sanitizePath​(java.lang.String path)
      A small utility method that santizes the url, converting it from relative to absolute.
      void setAuthentication​(boolean value)
      Sets the authenticate flag to the value passed.
      void setBasenamePrefix​(java.lang.String prefix)
      Sets the basename prefix for the per workflow files.
      void setBaseSubmitDirectory​(java.lang.String base)
      Sets the path to the base submitdirectory where the submit files are to be generated.
      void setCacheFiles​(java.lang.String cacheList)
      Sets the caches files.
      void setCacheFiles​(java.util.Set files)
      Sets the caches files.
      void setCleanup​(PlannerOptions.CLEANUP_OPTIONS cleanup)
      Sets the cleanup option for the planner.
      void setCleanup​(java.lang.String cleanup)
      Sets the cleanup option for the planner.
      void setClusteringTechnique​(java.lang.String value)
      Sets the clustering option.
      void setConfFile​(java.lang.String conf)
      Sets the property file pointed to by the --conf option passed to the planner
      void setDAX​(java.lang.String dax)
      Sets the DAX that has to be worked on by the planner.
      void setExecutionSites​(java.lang.String siteList)
      Sets the names of the execution sites where the concrete workflow can be run.
      void setExecutionSites​(java.util.Collection sites)
      Sets the names of the execution sites where the concrete workflow can be run.
      void setForce​(boolean force)
      Sets the force option for the planner.
      void setForceReplan​(boolean force)
      Sets the force replan option
      void setHelp​(boolean help)
      Sets the help option for the planner.
      void setInheritedRCFiles​(java.lang.String list)
      Sets the inherited RC Files.
      void setInheritedRCFiles​(java.util.Set files)
      Sets the inherited RC Files.
      void setInputDirectory​(java.lang.String input)
      Set the input directory.
      void setJobnamePrefix​(java.lang.String prefix)
      Sets the job prefix to be used while constructing the job names.
      void setLoggingLevel​(java.lang.String level)
      Sets the logging level for logging of messages.
      void setMegaDAGMode​(java.lang.String mode)
      Sets the megadag generation option
      void setNumberOfRescueTries​(int num)
      Sets the number of times to try for rescue dag submission.
      void setNumberOfRescueTries​(java.lang.String num)
      Sets the number of times to try for rescue dag submission.
      void setOptionalArg​(boolean value)
      Sets the flag to denote that the optional argument for the random was specified.
      void setOriginalArgString​(java.lang.String[] args)
      Sets the argument string of how planner was invoked.
      void setOutputDirectory​(java.lang.String output)
      Set the output directory.
      void setOutputSite​(java.lang.String site)
      Sets the output site specified by the user.
      void setPartitioningType​(java.lang.String type)
      Sets the partitioning type in case of partition and plan.
      void setPartOfDeferredRun​(boolean value)
      Sets the flag to denote that the run is part of a larger deferred run.
      void setPDAX​(java.lang.String pdax)
      Sets the PDAX that has to be worked on by the planner.
      void setProperty​(java.lang.String optarg)
      Sets a property passed on the command line.
      void setRandomDir​(java.lang.String dir)
      Sets the random directory in which the jobs are run.
      void setRelativeDirectory​(java.lang.String relative)
      Sets the path to the relative directory where the submit files are to be generated.
      void setRelativeSubmitDirectory​(java.lang.String relative)
      Sets the path to the directory where the submit files are to be generated.
      void setSanitizePath​(boolean value)
      Sets the flag denoting whether to sanitize path or not.
      void setShiwaBundle​(java.lang.String bundle)
      Sets the path to the Shiwa Bundle to be used.
      void setSubmitDirectory​(java.io.File dir)
      Sets the path to the directory where the submit files are to be generated.
      void setSubmitDirectory​(java.lang.String dir)
      Sets the path to the directory where the submit files are to be generated.
      void setSubmitDirectory​(java.lang.String base, java.lang.String relative)
      Sets the path to the directory where the submit files are to be generated.
      void setSubmitToScheduler​(boolean submit)
      Returns whether to submit the workflow or not.
      void setVDSProperties​(java.util.List properties)
      Sets the VDS properties specifed by the user at the command line.
      void setVOGroup​(java.lang.String group)
      Set the VO Group to which the user belongs
      protected java.lang.String stagingSiteMappingToString()
      Convers the staging site mappings to comma separated list of executionsite=stagingsite mappings
      boolean submitToScheduler()
      Returns whether to submit the workflow or not.
      java.lang.String toJVMOptions()
      Converts the vds properties that need to be passed to the jvm as an option.
      java.lang.String toOptions()
      Generates the argument string corresponding to these options that can be used to invoke Pegasus.
      java.lang.String toString()
      Returns the textual description of all the options that were set for the planner.
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • DEFAULT_LOGGING_LEVEL

        public static final int DEFAULT_LOGGING_LEVEL
        The default logging level.
        See Also:
        Constant Field Values
      • DEFAULT_NUMBER_OF_RESCUE_TRIES

        public static final int DEFAULT_NUMBER_OF_RESCUE_TRIES
        The value of number of rescue retries if no value is specified
        See Also:
        Constant Field Values
      • mBaseDir

        private java.lang.String mBaseDir
        The base submit directory.
      • mRelativeDir

        private java.lang.String mRelativeDir
        The relative directory for the submit directory and remote execution directory
      • mRelativeSubmitDir

        private java.lang.String mRelativeSubmitDir
        The relative directory for the submit directory. Overrides relative dir if both are specified.
      • mDAXFile

        private java.lang.String mDAXFile
        The dax file which contains the abstract dag. This dax is created by the Abstract Planner using the gendax command.
      • mPDAXFile

        private java.lang.String mPDAXFile
        The path to the pdax file that contains the partition graph.
      • mvExecPools

        private java.util.Set mvExecPools
        List of execution pools on which the user wants the Dag to be executed.
      • mCacheFiles

        private java.util.Set<java.lang.String> mCacheFiles
        Set of cache files that need to be used, to determine the location of the transiency files.
      • mInheritedRCFiles

        private java.util.Set<java.lang.String> mInheritedRCFiles
        Set of replica catalog files that are inherited by a planning instance. Locations in this file have a lower priority than the file locations mentioned in the DAX Replica Store
      • mOutputPool

        private java.lang.String mOutputPool
        The output pool on which the data products are needed to be transferred to.
      • mSubmit

        private boolean mSubmit
        If specified, then it submits to the underlying CondorG using the kickstart-Condorscript provided.
      • mForce

        private boolean mForce
        The force option to make a build dag from scratch. Leads to no reduction of dag occuring.
      • mDisplayHelp

        private boolean mDisplayHelp
        To Display help or not.
      • mLoggingLevel

        private int mLoggingLevel
        Denotes the logging level that is to be used for logging the messages.
      • mGenRandomDir

        private boolean mGenRandomDir
        Whether to create a random directory in the execution directory that is determined from the exec mount point in the pool configuration file. This forces Pegasus to do runs in a unique random directory just below the execution mount point at a remote pool.
      • mAuthenticate

        private boolean mAuthenticate
        Whether to attempt authentication against the jobmanagers for the pools specified at runtime.
      • mMegadag

        private java.lang.String mMegadag
        The megadag generation mode.
      • mVDSProps

        private java.util.List mVDSProps
        The list of VDS properties set at runtime by the user on commandline. It is a list of NameValue pairs, with name as vds property name and value as the corresponding value.
      • mClusterer

        private java.lang.String mClusterer
        Denotes what type of clustering needs to be done
      • mRandomDirName

        private java.lang.String mRandomDirName
        If the genRandomDir flag is set, then this contains the name of the random directory. Else it can be a null or an empty string.
      • mOptArg

        private boolean mOptArg
        Designates if the optional argument to the random directory was given.
      • mBasenamePrefix

        private java.lang.String mBasenamePrefix
        The basename prefix that is to be given to the per workflow file, like the log file, the .dag file, the .cache files etc.
      • mJobPrefix

        private java.lang.String mJobPrefix
        The prefix that is to be applied while constructing job names.
      • mDeferredRun

        private boolean mDeferredRun
        A boolean indicating whether the planner invocation is part of a larger deferred planning run.
      • mVOGroup

        private java.lang.String mVOGroup
        The VOGroup to which the user belongs to.
      • mDate

        private java.util.Date mDate
        Stores the time at which the planning process started.
      • mPartitioningType

        private java.lang.String mPartitioningType
        Stores the type of partitioning to be done.
      • mSanitizePath

        private boolean mSanitizePath
        A boolean storing whether to sanitize paths or not
      • mNumOfRescueTries

        private int mNumOfRescueTries
        The numer of rescue's to try before replanning.
      • mProperties

        private java.util.Properties mProperties
        The properties container for properties specified on the commandline in the DAX dax elements.
      • mForwardOptions

        private java.util.List<NameValue> mForwardOptions
        The options that need to be passed forward to pegasus-run.
      • mNonStandardJavaOptions

        private java.util.Set<java.lang.String> mNonStandardJavaOptions
        The set of non standard java options that need to be passed to the JVM
      • mForceReplan

        private boolean mForceReplan
        Returns the force replan option
      • mOriginalArgumentString

        private java.lang.String mOriginalArgumentString
        The argument string with which the planner was invoked.
      • mStagingSitesMap

        private java.util.Map<java.lang.String,​java.lang.String> mStagingSitesMap
        A map that maps an execution site to a staging site.
      • mShiwaBundle

        private java.lang.String mShiwaBundle
        the path to the shiwa bundle
      • mInputDir

        private java.lang.String mInputDir
        the input directory
      • mOutputDir

        private java.lang.String mOutputDir
        the output directory
      • mConfFile

        private java.lang.String mConfFile
        The conf option passed to the planner pointing to the properties file.
    • Constructor Detail

      • PlannerOptions

        public PlannerOptions()
        Default Constructor.
    • Method Detail

      • authenticationSet

        public boolean authenticationSet()
        Returns the authenticate option for the planner.
        Returns:
        boolean indicating if it was set or not.
      • getCacheFiles

        public java.util.Set getCacheFiles()
        Returns the cache files.
        Returns:
        Set of fully qualified paths to the cache files.
      • getInheritedRCFiles

        public java.util.Set<java.lang.String> getInheritedRCFiles()
        Returns the inherited rc files.
        Returns:
        Set of fully qualified paths to the cache files.
      • getClusteringTechnique

        public java.lang.String getClusteringTechnique()
        Returns the clustering technique to be used for clustering.
        Returns:
        the value of clustering technique if set, else null
      • getBasenamePrefix

        public java.lang.String getBasenamePrefix()
        Returns the basename prefix for the per workflow files that are to be generated by the planner.
        Returns:
        the basename if set, else null.
      • getJobnamePrefix

        public java.lang.String getJobnamePrefix()
        Returns the job prefix to be used while constructing the job names.
        Returns:
        the job prefix if set, else null.
      • getDAX

        public java.lang.String getDAX()
        Returns the path to the dax file being used by the planner.
        Returns:
        path to DAX file.
      • getExecutionSites

        public java.util.Collection getExecutionSites()
        Returns the names of the execution sites where the concrete workflow can be run.
        Returns:
        Set of execution site names.
      • getForce

        public boolean getForce()
        Returns the force option set for the planner.
        Returns:
        the boolean value indicating the force option.
      • getForceReplan

        public boolean getForceReplan()
        Returns the force replan option
        Returns:
        boolean
      • getCleanup

        public PlannerOptions.CLEANUP_OPTIONS getCleanup()
        Returns the option indicating whether to do cleanup or not.
        Returns:
        the cleanup strategy to be used
      • getDateTime

        public java.lang.String getDateTime​(boolean extendedFormat)
        Returns the time at which planning started in a ISO 8601 format.
        Parameters:
        extendedFormat - will use the extended ISO 8601 format which separates the different timestamp items. If false, the basic format will be used. In UTC and basic format, the 'T' separator will be omitted.
        Returns:
        String
      • getHelp

        public boolean getHelp()
        Returns whether to display or not.
        Returns:
        help boolean value.
      • getShiwaBundle

        public java.lang.String getShiwaBundle()
        Returns the Shiwa Bundle set
        Returns:
        the shiwa bundle specified by the user
      • incrementLogging

        public void incrementLogging()
        Increments the logging level by 1.
      • decrementLogging

        public void decrementLogging()
        Deccrements the logging level by 1.
      • getLoggingLevel

        public int getLoggingLevel()
        Returns the logging level.
        Returns:
        the logging level.
      • getMegaDAGMode

        public java.lang.String getMegaDAGMode()
        Returns the megadag generation option .
        Returns:
        the mode if mode is set else null
      • getInputDirectory

        public java.lang.String getInputDirectory()
        Returns the input directory.
        Returns:
        the input directory for the workflow
      • getOutputDirectory

        public java.lang.String getOutputDirectory()
        Returns the output directory
        Returns:
        the output directory for the workflow
      • getOutputSite

        public java.lang.String getOutputSite()
        Returns the output site where to stage the output .
        Returns:
        the output site.
      • getPDAX

        public java.lang.String getPDAX()
        Returns the path to the PDAX file being used by the planner.
        Returns:
        path to PDAX file.
      • generateRandomDirectory

        public boolean generateRandomDirectory()
        Returns whether to generate a random directory or not.
        Returns:
        boolean
      • getRandomDir

        public java.lang.String getRandomDir()
        Returns the random directory option.
        Returns:
        the directory name null if not set.
      • getRandomDirName

        public java.lang.String getRandomDirName()
        Returns the name of the random directory, only if the generate Random Dir flag is set. Else it returns null.
      • getOriginalArgString

        public java.lang.String getOriginalArgString()
        Returns the argument string of how planner was invoked.
        Returns:
        the arguments with which the planner was invoked.
      • setOriginalArgString

        public void setOriginalArgString​(java.lang.String[] args)
        Sets the argument string of how planner was invoked. This function just stores the arguments as a String internally.
        Parameters:
        args - the arguments with which the planner was invoked.
      • setProperty

        public void setProperty​(java.lang.String optarg)
        Sets a property passed on the command line.
        Parameters:
        optarg - key=value property specification
      • setShiwaBundle

        public void setShiwaBundle​(java.lang.String bundle)
        Sets the path to the Shiwa Bundle to be used.
        Parameters:
        bundle - the shiwa bundle
      • submitToScheduler

        public boolean submitToScheduler()
        Returns whether to submit the workflow or not.
        Returns:
        boolean indicating whether to submit or not.
      • getVDSProperties

        public java.util.List getVDSProperties()
        Returns the VDS properties that were set by the user.
        Returns:
        List of NameValue objects each corresponding to a property key and value.
      • getVOGroup

        public java.lang.String getVOGroup()
        Returns the VO Group to which the user belongs
        Returns:
        VOGroup
      • getBaseSubmitDirectory

        public java.lang.String getBaseSubmitDirectory()
        Returns the base submit directory
        Returns:
        the path to the directory.
      • getRelativeDirectory

        public java.lang.String getRelativeDirectory()
        Returns the relative directory.
        Returns:
        the relative directory
      • getRelativeSubmitDirectoryOption

        public java.lang.String getRelativeSubmitDirectoryOption()
        Returns the relative submit directory option.
        Returns:
        the relative submit directory option if specified else null
      • getRelativeSubmitDirectory

        public java.lang.String getRelativeSubmitDirectory()
        Returns the relative submit directory.
        Returns:
        the relative submit directory if specified else the relative dir.
      • getSubmitDirectory

        public java.lang.String getSubmitDirectory()
        Returns the path to the directory where the submit files are to be generated. The relative submit directory if specified overrides the relative directory.
        Returns:
        the path to the directory.
      • getConfFile

        public java.lang.String getConfFile()
        Returns the property file pointed to by the --conf option passed to the planner
        Returns:
        the conf option if passed, else null
      • setAuthentication

        public void setAuthentication​(boolean value)
        Sets the authenticate flag to the value passed.
        Parameters:
        value - boolean value passed.
      • setBasenamePrefix

        public void setBasenamePrefix​(java.lang.String prefix)
        Sets the basename prefix for the per workflow files.
        Parameters:
        prefix - the prefix to be set.
      • setJobnamePrefix

        public void setJobnamePrefix​(java.lang.String prefix)
        Sets the job prefix to be used while constructing the job names.
        Parameters:
        prefix - the job prefix .
      • setOptionalArg

        public void setOptionalArg​(boolean value)
        Sets the flag to denote that the optional argument for the random was specified.
        Parameters:
        value - boolean indicating whether the optional argument was given or not.
      • optionalArgSet

        public boolean optionalArgSet()
        Returns the flag to denote whether the optional argument for the random was specified or not.
        Returns:
        boolean indicating whether the optional argument was supplied or not.
      • setPartitioningType

        public void setPartitioningType​(java.lang.String type)
        Sets the partitioning type in case of partition and plan.
        Parameters:
        type - the type of partitioning technique
      • getPartitioningType

        public java.lang.String getPartitioningType()
        Returns the partitioning type in case of partition and plan.
        Returns:
        the type of partitioning technique
      • setPartOfDeferredRun

        public void setPartOfDeferredRun​(boolean value)
        Sets the flag to denote that the run is part of a larger deferred run.
        Parameters:
        value - the value
      • partOfDeferredRun

        public boolean partOfDeferredRun()
        Returns a boolean indicating whether this invocation is part of a deferred execution or not.
        Returns:
        boolean
      • setSanitizePath

        public void setSanitizePath​(boolean value)
        Sets the flag denoting whether to sanitize path or not.
        Parameters:
        value - the value to set
      • setCacheFiles

        public void setCacheFiles​(java.lang.String cacheList)
        Sets the caches files. If cache files have been already specified it adds to the existing set of files. It also sanitizes the paths. Tries to resolve the path, if the path given is relative instead of absolute.
        Parameters:
        cacheList - comma separated list of cache files.
      • setCacheFiles

        public void setCacheFiles​(java.util.Set files)
        Sets the caches files. If cache files have been already specified it adds to the existing set of files. It also sanitizes the paths. Tries to resolve the path, if the path given is relative instead of absolute.
        Parameters:
        files - the set of fully qualified paths to the cache files.
      • setInheritedRCFiles

        public void setInheritedRCFiles​(java.lang.String list)
        Sets the inherited RC Files. If RC files have been already specified it adds to the existing set of files. It also sanitizes the paths. Tries to resolve the path, if the path given is relative instead of absolute.
        Parameters:
        l - comma separated list of cache files.
      • setInheritedRCFiles

        public void setInheritedRCFiles​(java.util.Set files)
        Sets the inherited RC Files. If RC files have been already specified it adds to the existing set of files. It also sanitizes the paths. Tries to resolve the path, if the path given is relative instead of absolute.
        Parameters:
        files - the set of fully qualified paths to the cache files.
      • setClusteringTechnique

        public void setClusteringTechnique​(java.lang.String value)
        Sets the clustering option.
        Parameters:
        value - the value to set.
      • setDAX

        public void setDAX​(java.lang.String dax)
        Sets the DAX that has to be worked on by the planner.
        Parameters:
        dax - the path to the DAX file.
      • setExecutionSites

        public void setExecutionSites​(java.lang.String siteList)
        Sets the names of the execution sites where the concrete workflow can be run.
        Parameters:
        siteList - comma separated list of sites.
      • setExecutionSites

        public void setExecutionSites​(java.util.Collection sites)
        Sets the names of the execution sites where the concrete workflow can be run.
        Parameters:
        sites - Collection of execution site names.
      • setForce

        public void setForce​(boolean force)
        Sets the force option for the planner.
        Parameters:
        force - boolean value.
      • setForceReplan

        public void setForceReplan​(boolean force)
        Sets the force replan option
        Parameters:
        force - the boolean value
      • addToForwardOptions

        public void addToForwardOptions​(java.lang.String argument)
        Parses the argument in form of option=[value] and adds to the options that are to be passed ahead to pegasus-run.
        Parameters:
        argument - the argument to be passed.
      • getForwardOptions

        public java.util.List<NameValue> getForwardOptions()
        Returns the forward options set
        Returns:
        List containing the option and the value.
      • setCleanup

        public void setCleanup​(java.lang.String cleanup)
        Sets the cleanup option for the planner.
        Parameters:
        cleanup - the cleanup option
      • setCleanup

        public void setCleanup​(PlannerOptions.CLEANUP_OPTIONS cleanup)
        Sets the cleanup option for the planner.
        Parameters:
        cleanup - the cleanup option
      • setHelp

        public void setHelp​(boolean help)
        Sets the help option for the planner.
        Parameters:
        help - boolean value.
      • setLoggingLevel

        public void setLoggingLevel​(java.lang.String level)
        Sets the logging level for logging of messages.
        Parameters:
        level - the logging level.
      • setMegaDAGMode

        public void setMegaDAGMode​(java.lang.String mode)
        Sets the megadag generation option
        Parameters:
        mode - the mode.
      • setPDAX

        public void setPDAX​(java.lang.String pdax)
        Sets the PDAX that has to be worked on by the planner.
        Parameters:
        pdax - the path to the PDAX file.
      • setInputDirectory

        public void setInputDirectory​(java.lang.String input)
        Set the input directory.
        Parameters:
        input - the input directory for the workflow
      • setOutputDirectory

        public void setOutputDirectory​(java.lang.String output)
        Set the output directory.
        Parameters:
        output - the input directory for the workflow
      • setOutputSite

        public void setOutputSite​(java.lang.String site)
        Sets the output site specified by the user.
        Parameters:
        site - the output site.
      • setRandomDir

        public void setRandomDir​(java.lang.String dir)
        Sets the random directory in which the jobs are run.
        Parameters:
        dir - the basename of the random directory.
      • setSubmitToScheduler

        public void setSubmitToScheduler​(boolean submit)
        Returns whether to submit the workflow or not.
        Parameters:
        submit - boolean indicating whether to submit or not.
      • setSubmitDirectory

        public void setSubmitDirectory​(java.lang.String dir)
        Sets the path to the directory where the submit files are to be generated.
        Parameters:
        dir - the path to the directory.
      • setSubmitDirectory

        public void setSubmitDirectory​(java.io.File dir)
        Sets the path to the directory where the submit files are to be generated.
        Parameters:
        dir - the path to the directory.
      • setSubmitDirectory

        public void setSubmitDirectory​(java.lang.String base,
                                       java.lang.String relative)
        Sets the path to the directory where the submit files are to be generated.
        Parameters:
        base - the path to the base directory.
        relative - the directory relative to the base where submit files are generated.
      • setBaseSubmitDirectory

        public void setBaseSubmitDirectory​(java.lang.String base)
        Sets the path to the base submitdirectory where the submit files are to be generated.
        Parameters:
        base - the base directory where submit files are generated.
      • setRelativeDirectory

        public void setRelativeDirectory​(java.lang.String relative)
        Sets the path to the relative directory where the submit files are to be generated. The submit directory can be overridden by setRelativeSubmitDirectory( String)
        Parameters:
        relative - the directory relative to the base where submit files are generated.
      • setRelativeSubmitDirectory

        public void setRelativeSubmitDirectory​(java.lang.String relative)
        Sets the path to the directory where the submit files are to be generated.
        Parameters:
        relative - the directory relative to the base where submit files are generated.
      • setVDSProperties

        public void setVDSProperties​(java.util.List properties)
        Sets the VDS properties specifed by the user at the command line.
        Parameters:
        properties - List of NameValue objects.
      • setVOGroup

        public void setVOGroup​(java.lang.String group)
        Set the VO Group to which the user belongs
        Parameters:
        group - the VOGroup
      • setNumberOfRescueTries

        public void setNumberOfRescueTries​(java.lang.String num)
        Sets the number of times to try for rescue dag submission.
        Parameters:
        num - number.
      • setNumberOfRescueTries

        public void setNumberOfRescueTries​(int num)
        Sets the number of times to try for rescue dag submission.
        Parameters:
        num - number.
      • getNumberOfRescueTries

        public int getNumberOfRescueTries()
        Returns the number of times to try for rescue dag submission.
        Returns:
        number.
      • addToNonStandardJavaOptions

        public void addToNonStandardJavaOptions​(java.lang.String option)
        Adds to the Set of non standard JAVA options that need to be passed to the JVM. The list of non standard java options can be retrieved by doing java -X . The option is always prefixed by -X internally. If mx1024m is passed, internally option will be set to -Xmx1024m
        Parameters:
        option - the non standard option.
      • getNonStandardJavaOptions

        public java.util.Set<java.lang.String> getNonStandardJavaOptions()
        Returns the Set of non standard java options.
        Returns:
        Set
      • addToStagingSitesMappings

        public void addToStagingSitesMappings​(java.lang.String value)
        Adds to the staging sites
        Parameters:
        value - comma separated key=value pairs where key is execution site and value is the staging site to use for that execution site
      • addToStagingSitesMappings

        public void addToStagingSitesMappings​(java.lang.String executionSite,
                                              java.lang.String stagingSite)
        Adds to the staging sites
        Parameters:
        executionSite - the execution site
        stagingSite - the staging site.
      • getStagingSite

        public java.lang.String getStagingSite​(java.lang.String executionSite)
        Returns the staging site for an execution site.
        Parameters:
        executionSite - the execution site
        Returns:
        the staging site corresponding to an execution site, else null
      • stagingSiteMappingToString

        protected java.lang.String stagingSiteMappingToString()
        Convers the staging site mappings to comma separated list of executionsite=stagingsite mappings
        Returns:
        mappings as string
      • setConfFile

        public void setConfFile​(java.lang.String conf)
        Sets the property file pointed to by the --conf option passed to the planner
        Parameters:
        conf - the conf option if passed, else null
      • toString

        public java.lang.String toString()
        Returns the textual description of all the options that were set for the planner.
        Specified by:
        toString in class Data
        Returns:
        the textual description.
      • toOptions

        public java.lang.String toOptions()
        Generates the argument string corresponding to these options that can be used to invoke Pegasus. During its generation it ignores the dax and pdax options as they are specified elsewhere.
        Returns:
        all the options in a String separated by whitespace.
      • toJVMOptions

        public java.lang.String toJVMOptions()
        Converts the vds properties that need to be passed to the jvm as an option.
        Returns:
        the jvm options as String.
      • getCompleteOptions

        public java.lang.String getCompleteOptions()
        Returns the complete options string that is used to invoke pegasus
        Returns:
        the options as string.
      • cloneSet

        private java.util.Set cloneSet​(java.util.Set s)
        Clones a Set.
        Parameters:
        s - Set
        Returns:
        the cloned set as a HashSet
      • clone

        public java.lang.Object clone()
        Returns a new copy of the Object. The clone does not clone the internal VDS properties at the moment.
        Overrides:
        clone in class java.lang.Object
        Returns:
        the cloned copy.
      • generateSet

        private java.util.Set generateSet​(java.lang.String str)
        Generates a Set by parsing a comma separated string.
        Parameters:
        str - the comma separted String.
        Returns:
        Set containing the parsed values, in case of a null string an empty set is returned.
      • sanitizePath

        private java.lang.String sanitizePath​(java.lang.String path)
        A small utility method that santizes the url, converting it from relative to absolute. In case the path is relative, it uses the System property user.dir to get the current working directory, from where the planner is being run.
        Parameters:
        path - the absolute or the relative path.
        Returns:
        the absolute path.