edu.isi.pegasus.planner.classes

## Class PlannerOptions

- java.lang.Object
- - edu.isi.pegasus.planner.classes.Data
  - - edu.isi.pegasus.planner.classes.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
`static class` `PlannerOptions.CLEANUP_OPTIONS` The various cleanup options supported by the planner

### Field Summary

Fields
`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.

### Fields inherited from class edu.isi.pegasus.planner.classes.Data

`mLogger, mLogMsg`

### Constructor Summary

Constructors
Constructor and Description
`PlannerOptions()` Default Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`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.util.Set files)` Sets the caches files.
`void` `setCacheFiles(java.lang.String cacheList)` 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.util.Collection sites)` Sets the names of the execution sites where the concrete workflow can be run.
`void` `setExecutionSites(java.lang.String siteList)` 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.util.Set files)` Sets the inherited RC Files.
`void` `setInheritedRCFiles(java.lang.String list)` 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 edu.isi.pegasus.planner.classes.Data

`setToString, vectorToString`

### 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.

#### mCleanup

    private PlannerOptions.CLEANUP_OPTIONS mCleanup

An enum tracking what type of cleanup needs to be done.

#### 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<NameValue> 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<String>

#### 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.