Class Pegasus


  • public class Pegasus
    extends Namespace
    A Planner specific namespace. It defines profiles that are used to fine tune Pegasus behaviour on a per job basis if required.
    Version:
    $Revision$
    Author:
    Karan Vahi, Gaurang Mehta
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String BUNDLE_KEY
      The name of the key that if set, determines the number of super jobs that are made corresponding to a logical transformation and an execution pool.
      static java.lang.String BUNDLE_LOCAL_STAGE_IN_KEY
      The name of the key that determines the bundling parameter for the local stagein transfer node.
      static java.lang.String BUNDLE_LOCAL_STAGE_OUT_KEY
      The name of the key that determines the bundling parameter for the local stagein transfer node.
      static java.lang.String BUNDLE_REMOTE_STAGE_IN_KEY
      The name of the key that determines the bundling parameter for the remote stagein transfer node.
      static java.lang.String BUNDLE_REMOTE_STAGE_OUT_KEY
      The name of the key that determines the bundling parameter for the remote stagein transfer node.
      static java.lang.String BUNDLE_STAGE_IN_KEY
      The name of the key that determines the bundling parameter for the stagein transfer node.
      static java.lang.String BUNDLE_STAGE_OUT_KEY
      The name of the key that determines the bundling parameter for the stageout transfer node.
      static java.lang.String CHAIN_STAGE_IN_KEY
      The name of the key that determines the number of chains of stagein nodes that are to be created per site.
      static java.lang.String CHANGE_DIR_KEY
      The name of the profile key that triggers the kickstart to change directory before launching an executable instead of launching the executable from the directory where kickstart is being run.
      static java.lang.String CLUSTER_ARGUMENTS
      Arguments that need to be passed to the clustering executable.
      static java.lang.String CLUSTER_LOCAL_STAGE_IN_KEY
      The name of the key that determines the cluster parameter for the local stagein transfer node.
      static java.lang.String CLUSTER_LOCAL_STAGE_OUT_KEY
      The name of the key that determines the cluster parameter for the local stagein transfer node.
      static java.lang.String CLUSTER_REMOTE_STAGE_IN_KEY
      The name of the key that determines the clustering parameter for the stagein transfer node.
      static java.lang.String CLUSTER_REMOTE_STAGE_OUT_KEY
      The name of the key that determines the bundling parameter for the remote stagein transfer node.
      static java.lang.String CLUSTER_STAGE_IN_KEY
      The name of the key that determines the clustering parameter for the stagein transfer node.
      static java.lang.String CLUSTER_STAGE_OUT_KEY
      The name of the key that determines the clustering parameter for the stageout transfer node.
      static java.lang.String COLLAPSE_KEY
      The name of the key that if set in the Pegasus namespace determines the number of jobs that are collapsed into the super job.
      static java.lang.String COLLAPSER_KEY
      Deprecated. 
      static java.lang.String CONDOR_STYLE
      The style indicating that the submit files are to be generated for a vanilla condor execution.
      static java.lang.String CONDORC_STYLE
      The style indicating that the submit files are to be generated for a CondorC submission to remote schedds.
      static java.lang.String CORES_KEY
      The number of cores that are associated with the job.
      static java.lang.String CREAMCE_STYLE
      The style indicating that the submit files are to be generated for a creamce submission
      static java.lang.String CREATE_AND_CHANGE_DIR_KEY
      The name of the profile key that triggers the kickstart to create and then the working directory to it before launching an executable.
      static java.lang.String DEPRECATED_BUNDLE_STAGE_IN_KEY
      The deprecated bundle stagein key.
      static java.lang.String DEPRECATED_CHANGE_DIR_KEY
      The deprecated change dir key.
      private static Aggregator ERROR_MESSAGE_AGGREGATOR
      Static Handle to the delimiter aggregator.
      static java.lang.String EXITCODE_FAILURE_MESSAGE
      The message to look for while detecting failures condor job's stdout/stderr
      static java.lang.String EXITCODE_SUCCESS_MESSAGE
      the message to look for while detecting success in condor job's stdout/stderr
      static java.lang.String GLIDEIN_STYLE
      The style indicating that the submit files are to be generated for a glidein execution.
      static java.lang.String GLIDEINWMS_STYLE
      The style indicating that the submit files are to be generated for a glideinwms execution.
      static java.lang.String GLITE_STYLE
      The style indicating that the submit files are to be generated for a glite execution.
      static java.lang.String GLOBUS_STYLE
      The style indicating that the submit files are to be generated for a CondorG execution.
      static java.lang.String GRIDSTART_ARGUMENTS_KEY
      The name of the profile key, that determines the arguments with which the GridStart that is used to launch a job on the remote site is invoked with.
      static java.lang.String GRIDSTART_KEY
      The name of the profile key that determines the launching executable to be used to launch a job on the grid.
      static java.lang.String GRIDSTART_PATH_KEY
      The name of the profile key that designates the path to a gridstart.
      static java.lang.String GROUP_KEY
      The name of the profile key in vds namespace that does the grouping.
      private static java.lang.String IRODSENVFILE  
      static java.lang.String JOB_AGGREGATOR_KEY
      The name of the key that determines the clusterig executable to be used to run the merged/collapsed job.
      static java.lang.String JOB_RUN_TIME
      The name of the key that if set in the Pegasus namespace specifies the approximate runtime of the job.
      static java.lang.String LABEL_KEY
      The name of the profile key in vds namespace that does the labelling by default.
      static java.lang.String MAX_RUN_TIME
      The name of the key that if set in the Pegasus namespace specifies the maximum amount of time for which a cluster should run.
      protected static java.util.Map mDeprecatedTable
      The table containing the mapping of the deprecated keys to the newer keys.
      protected java.lang.String mNamespace
      The name of the implementing namespace.
      static java.lang.String NAMESPACE_NAME
      The name of the namespace that this class implements.
      static java.lang.String PMC_PRIORITY_KEY
      A key to designate a priority to the jobs run by pegasus-mpi-cluster.
      static java.lang.String PMC_REQUEST_CPUS_KEY
      A key to designate the number of CPU's requested by pegasus-mpi-cluster.
      static java.lang.String PMC_REQUEST_MEMORY_KEY
      A key to designate the memory required by a job in MB by pegasus-mpi-cluster.
      static java.lang.String PMC_TASK_ARGUMENTS
      Arguments that need to be passed to the PMC clustering executable.
      static java.lang.String REMOTE_INITIALDIR_KEY
      The name of the key that sets a remote initial dir for a condor globus job.
      static java.lang.String RUNTIME_KEY
      The name of the profile key when associated with a transformation in the transformation catalog gives expected runtime in seconds.
      private static java.lang.String S3CFG_FILE_VARIABLE  
      private static java.lang.String SSH_PRIVATE_KEY_VARIABLE  
      static java.lang.String SSH_STYLE
      The style indicating that the submit files are to be generated for a direct ssh submission
      static java.lang.String STYLE_KEY
      The name of the key, that denotes the style of the dag that is constructed.
      private static Aggregator SUCCESS_MESSAGE_AGGREGATOR
      Static Handle to the delimiter aggregator.
      private static Aggregator SUM_AGGREGATOR
      Static Handle to the sum aggregator.
      static java.lang.String TRANSFER_ARGUMENTS_KEY
      The name of the profile key, that when associated with transfer jobs determines the arguments with which the transfer executable is invoked.
      static java.lang.String TRANSFER_PROXY_KEY
      The name of the profile key if associated with a job, results in an explicit transfer of the proxy from the submit host to the remote site, instead of banking upon CondorG to transfer the proxy.
      static java.lang.String TRANSFER_SLS_ARGUMENTS_KEY
      The name of the profile key, that when associated with transfer jobs determines the arguments with which the transfer executable is invoked.
      static java.lang.String TRANSFER_SLS_THREADS_KEY
      The name of the profile key, that when associated with transfer jobs determines the number of threads that pegasus-transfer uses to do the transfer
      static java.lang.String TRANSFER_THREADS_KEY
      The name of the profile key, that when associated with transfer jobs determines the number of threads that pegasus-transfer uses to do the transfer
      static java.lang.String TYPE_KEY
      The name of the key that denotes the type of the job.
      static java.lang.String WORKER_NODE_DIRECTORY_KEY
      The directory in which job needs to execute on worker node tmp.
      private static java.lang.String X509_USER_PROXY_KEY  
    • Constructor Summary

      Constructors 
      Constructor Description
      Pegasus()
      The default constructor.
      Pegasus​(java.util.Map mp)
      The overloaded constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int checkKey​(java.lang.String key, java.lang.String value)
      This checks whether the key passed by the user is valid in the current namespace or not.
      void checkKeyInNS​(PegasusProperties properties, java.lang.String pool)
      It puts in the namespace specific information specified in the properties file into the namespace.
      java.lang.Object clone()
      Returns a copy of the current namespace object
      void construct​(java.lang.String key, java.lang.String value)
      Constructs a new element of the format (key=value).
      boolean containsKey​(java.lang.Object key)
      Returns true if the namespace contains a mapping for the specified key.
      java.util.Map deprecatedTable()
      Singleton access to the deprecated table that holds the deprecated keys, and the keys that replace them.
      java.lang.Object get​(java.lang.Object key)
      Returns the value to which this namespace maps the specified key.
      boolean getBooleanValue​(java.lang.Object key)
      Returns a boolean value, that a particular key is mapped to in this namespace.
      java.lang.String getStringValue​(java.lang.Object key)
      Returns a String value, that a particular key is mapped to in this namespace.
      void merge​(Namespace profiles)
      UniqueMerge the profiles in the namespace in a controlled manner.
      java.lang.String namespaceName()
      Returns the name of the namespace associated with the profile implementations.
      java.lang.String toCondor()
      Converts the contents of the map into the string that can be put in the Condor file for printing.
      void unknownKey​(java.lang.String key, java.lang.String value)
      Warns about an unknown profile key and constructs it anyway.
      • Methods inherited from class java.lang.Object

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

      • NAMESPACE_NAME

        public static final java.lang.String NAMESPACE_NAME
        The name of the namespace that this class implements.
        See Also:
        Constant Field Values
      • REMOTE_INITIALDIR_KEY

        public static final java.lang.String REMOTE_INITIALDIR_KEY
        The name of the key that sets a remote initial dir for a condor globus job.
        See Also:
        Constant Field Values
      • BUNDLE_KEY

        public static final java.lang.String BUNDLE_KEY
        The name of the key that if set, determines the number of super jobs that are made corresponding to a logical transformation and an execution pool. It overrides the collapse key if set.
        See Also:
        COLLAPSE_KEY, Constant Field Values
      • COLLAPSE_KEY

        public static final java.lang.String COLLAPSE_KEY
        The name of the key that if set in the Pegasus namespace determines the number of jobs that are collapsed into the super job.
        See Also:
        Constant Field Values
      • JOB_RUN_TIME

        public static final java.lang.String JOB_RUN_TIME
        The name of the key that if set in the Pegasus namespace specifies the approximate runtime of the job. This key is used in while clustering jobs according to run times.
        See Also:
        Constant Field Values
      • MAX_RUN_TIME

        public static final java.lang.String MAX_RUN_TIME
        The name of the key that if set in the Pegasus namespace specifies the maximum amount of time for which a cluster should run. This key is used while clustering jobs horizontally. Only those jobs are grouped together whose combined runtime is less than or equal to the max runtime.
        See Also:
        Constant Field Values
      • JOB_AGGREGATOR_KEY

        public static final java.lang.String JOB_AGGREGATOR_KEY
        The name of the key that determines the clusterig executable to be used to run the merged/collapsed job.
        See Also:
        Constant Field Values
      • COLLAPSER_KEY

        public static final java.lang.String COLLAPSER_KEY
        Deprecated.
        The name of the key that determines the collapser executable to be used to run the merged/collapsed job.
        See Also:
        Constant Field Values
      • GROUP_KEY

        public static final java.lang.String GROUP_KEY
        The name of the profile key in vds namespace that does the grouping.
        See Also:
        Constant Field Values
      • LABEL_KEY

        public static final java.lang.String LABEL_KEY
        The name of the profile key in vds namespace that does the labelling by default.
        See Also:
        Constant Field Values
      • GRIDSTART_KEY

        public static final java.lang.String GRIDSTART_KEY
        The name of the profile key that determines the launching executable to be used to launch a job on the grid.
        See Also:
        Constant Field Values
      • GRIDSTART_ARGUMENTS_KEY

        public static final java.lang.String GRIDSTART_ARGUMENTS_KEY
        The name of the profile key, that determines the arguments with which the GridStart that is used to launch a job on the remote site is invoked with. The arguments are appended to the ones constructed by default by the GridStart implementation.
        See Also:
        Constant Field Values
      • GRIDSTART_PATH_KEY

        public static final java.lang.String GRIDSTART_PATH_KEY
        The name of the profile key that designates the path to a gridstart.
        See Also:
        Constant Field Values
      • EXITCODE_FAILURE_MESSAGE

        public static final java.lang.String EXITCODE_FAILURE_MESSAGE
        The message to look for while detecting failures condor job's stdout/stderr
        See Also:
        Constant Field Values
      • EXITCODE_SUCCESS_MESSAGE

        public static final java.lang.String EXITCODE_SUCCESS_MESSAGE
        the message to look for while detecting success in condor job's stdout/stderr
        See Also:
        Constant Field Values
      • CHANGE_DIR_KEY

        public static final java.lang.String CHANGE_DIR_KEY
        The name of the profile key that triggers the kickstart to change directory before launching an executable instead of launching the executable from the directory where kickstart is being run.
        See Also:
        Constant Field Values
      • CREATE_AND_CHANGE_DIR_KEY

        public static final java.lang.String CREATE_AND_CHANGE_DIR_KEY
        The name of the profile key that triggers the kickstart to create and then the working directory to it before launching an executable.
        See Also:
        Constant Field Values
      • CORES_KEY

        public static final java.lang.String CORES_KEY
        The number of cores that are associated with the job. To be used for multiplying the job runtimes accordingly. This does not set the corresponding globus profiles automatically. Is only used for stampede purposes.
        See Also:
        Constant Field Values
      • DEPRECATED_BUNDLE_STAGE_IN_KEY

        public static final java.lang.String DEPRECATED_BUNDLE_STAGE_IN_KEY
        The deprecated bundle stagein key.
        See Also:
        CHANGE_DIR_KEY, Constant Field Values
      • BUNDLE_STAGE_IN_KEY

        public static final java.lang.String BUNDLE_STAGE_IN_KEY
        The name of the key that determines the bundling parameter for the stagein transfer node.
        See Also:
        Constant Field Values
      • BUNDLE_REMOTE_STAGE_IN_KEY

        public static final java.lang.String BUNDLE_REMOTE_STAGE_IN_KEY
        The name of the key that determines the bundling parameter for the remote stagein transfer node.
        See Also:
        Constant Field Values
      • BUNDLE_LOCAL_STAGE_IN_KEY

        public static final java.lang.String BUNDLE_LOCAL_STAGE_IN_KEY
        The name of the key that determines the bundling parameter for the local stagein transfer node.
        See Also:
        Constant Field Values
      • BUNDLE_REMOTE_STAGE_OUT_KEY

        public static final java.lang.String BUNDLE_REMOTE_STAGE_OUT_KEY
        The name of the key that determines the bundling parameter for the remote stagein transfer node.
        See Also:
        Constant Field Values
      • BUNDLE_LOCAL_STAGE_OUT_KEY

        public static final java.lang.String BUNDLE_LOCAL_STAGE_OUT_KEY
        The name of the key that determines the bundling parameter for the local stagein transfer node.
        See Also:
        Constant Field Values
      • BUNDLE_STAGE_OUT_KEY

        public static final java.lang.String BUNDLE_STAGE_OUT_KEY
        The name of the key that determines the bundling parameter for the stageout transfer node.
        See Also:
        Constant Field Values
      • CLUSTER_STAGE_IN_KEY

        public static final java.lang.String CLUSTER_STAGE_IN_KEY
        The name of the key that determines the clustering parameter for the stagein transfer node.
        See Also:
        Constant Field Values
      • CLUSTER_REMOTE_STAGE_IN_KEY

        public static final java.lang.String CLUSTER_REMOTE_STAGE_IN_KEY
        The name of the key that determines the clustering parameter for the stagein transfer node.
        See Also:
        Constant Field Values
      • CLUSTER_LOCAL_STAGE_IN_KEY

        public static final java.lang.String CLUSTER_LOCAL_STAGE_IN_KEY
        The name of the key that determines the cluster parameter for the local stagein transfer node.
        See Also:
        Constant Field Values
      • CLUSTER_STAGE_OUT_KEY

        public static final java.lang.String CLUSTER_STAGE_OUT_KEY
        The name of the key that determines the clustering parameter for the stageout transfer node.
        See Also:
        Constant Field Values
      • CLUSTER_REMOTE_STAGE_OUT_KEY

        public static final java.lang.String CLUSTER_REMOTE_STAGE_OUT_KEY
        The name of the key that determines the bundling parameter for the remote stagein transfer node.
        See Also:
        Constant Field Values
      • CLUSTER_LOCAL_STAGE_OUT_KEY

        public static final java.lang.String CLUSTER_LOCAL_STAGE_OUT_KEY
        The name of the key that determines the cluster parameter for the local stagein transfer node.
        See Also:
        Constant Field Values
      • CHAIN_STAGE_IN_KEY

        public static final java.lang.String CHAIN_STAGE_IN_KEY
        The name of the key that determines the number of chains of stagein nodes that are to be created per site.
        See Also:
        Constant Field Values
      • TRANSFER_PROXY_KEY

        public static final java.lang.String TRANSFER_PROXY_KEY
        The name of the profile key if associated with a job, results in an explicit transfer of the proxy from the submit host to the remote site, instead of banking upon CondorG to transfer the proxy.
        See Also:
        Constant Field Values
      • TRANSFER_ARGUMENTS_KEY

        public static final java.lang.String TRANSFER_ARGUMENTS_KEY
        The name of the profile key, that when associated with transfer jobs determines the arguments with which the transfer executable is invoked.
        See Also:
        Constant Field Values
      • TRANSFER_THREADS_KEY

        public static final java.lang.String TRANSFER_THREADS_KEY
        The name of the profile key, that when associated with transfer jobs determines the number of threads that pegasus-transfer uses to do the transfer
        See Also:
        Constant Field Values
      • TRANSFER_SLS_ARGUMENTS_KEY

        public static final java.lang.String TRANSFER_SLS_ARGUMENTS_KEY
        The name of the profile key, that when associated with transfer jobs determines the arguments with which the transfer executable is invoked.
        See Also:
        Constant Field Values
      • TRANSFER_SLS_THREADS_KEY

        public static final java.lang.String TRANSFER_SLS_THREADS_KEY
        The name of the profile key, that when associated with transfer jobs determines the number of threads that pegasus-transfer uses to do the transfer
        See Also:
        Constant Field Values
      • RUNTIME_KEY

        public static final java.lang.String RUNTIME_KEY
        The name of the profile key when associated with a transformation in the transformation catalog gives expected runtime in seconds.
        See Also:
        Constant Field Values
      • WORKER_NODE_DIRECTORY_KEY

        public static final java.lang.String WORKER_NODE_DIRECTORY_KEY
        The directory in which job needs to execute on worker node tmp.
        See Also:
        Constant Field Values
      • CLUSTER_ARGUMENTS

        public static final java.lang.String CLUSTER_ARGUMENTS
        Arguments that need to be passed to the clustering executable.
        See Also:
        Constant Field Values
      • STYLE_KEY

        public static final java.lang.String STYLE_KEY
        The name of the key, that denotes the style of the dag that is constructed. Possible styles can be -condor(glidein,flocking,submitting directly to condor pool) -globus(condorg)
        See Also:
        Constant Field Values
      • TYPE_KEY

        public static final java.lang.String TYPE_KEY
        The name of the key that denotes the type of the job. Whether it is recursive or not. Still protypical.
        See Also:
        Constant Field Values
      • CONDOR_STYLE

        public static final java.lang.String CONDOR_STYLE
        The style indicating that the submit files are to be generated for a vanilla condor execution.
        See Also:
        Constant Field Values
      • CONDORC_STYLE

        public static final java.lang.String CONDORC_STYLE
        The style indicating that the submit files are to be generated for a CondorC submission to remote schedds.
        See Also:
        Constant Field Values
      • CREAMCE_STYLE

        public static final java.lang.String CREAMCE_STYLE
        The style indicating that the submit files are to be generated for a creamce submission
        See Also:
        Constant Field Values
      • GLOBUS_STYLE

        public static final java.lang.String GLOBUS_STYLE
        The style indicating that the submit files are to be generated for a CondorG execution.
        See Also:
        Constant Field Values
      • GLIDEIN_STYLE

        public static final java.lang.String GLIDEIN_STYLE
        The style indicating that the submit files are to be generated for a glidein execution.
        See Also:
        Constant Field Values
      • GLIDEINWMS_STYLE

        public static final java.lang.String GLIDEINWMS_STYLE
        The style indicating that the submit files are to be generated for a glideinwms execution.
        See Also:
        Constant Field Values
      • GLITE_STYLE

        public static final java.lang.String GLITE_STYLE
        The style indicating that the submit files are to be generated for a glite execution.
        See Also:
        Constant Field Values
      • SSH_STYLE

        public static final java.lang.String SSH_STYLE
        The style indicating that the submit files are to be generated for a direct ssh submission
        See Also:
        Constant Field Values
      • PMC_REQUEST_MEMORY_KEY

        public static final java.lang.String PMC_REQUEST_MEMORY_KEY
        A key to designate the memory required by a job in MB by pegasus-mpi-cluster.
        See Also:
        Constant Field Values
      • PMC_REQUEST_CPUS_KEY

        public static final java.lang.String PMC_REQUEST_CPUS_KEY
        A key to designate the number of CPU's requested by pegasus-mpi-cluster.
        See Also:
        Constant Field Values
      • PMC_PRIORITY_KEY

        public static final java.lang.String PMC_PRIORITY_KEY
        A key to designate a priority to the jobs run by pegasus-mpi-cluster.
        See Also:
        Constant Field Values
      • PMC_TASK_ARGUMENTS

        public static final java.lang.String PMC_TASK_ARGUMENTS
        Arguments that need to be passed to the PMC clustering executable.
        See Also:
        Constant Field Values
      • S3CFG_FILE_VARIABLE

        private static final java.lang.String S3CFG_FILE_VARIABLE
      • SSH_PRIVATE_KEY_VARIABLE

        private static final java.lang.String SSH_PRIVATE_KEY_VARIABLE
      • IRODSENVFILE

        private static final java.lang.String IRODSENVFILE
      • X509_USER_PROXY_KEY

        private static final java.lang.String X509_USER_PROXY_KEY
      • SUM_AGGREGATOR

        private static Aggregator SUM_AGGREGATOR
        Static Handle to the sum aggregator.
      • ERROR_MESSAGE_AGGREGATOR

        private static Aggregator ERROR_MESSAGE_AGGREGATOR
        Static Handle to the delimiter aggregator.
      • SUCCESS_MESSAGE_AGGREGATOR

        private static Aggregator SUCCESS_MESSAGE_AGGREGATOR
        Static Handle to the delimiter aggregator.
      • mNamespace

        protected java.lang.String mNamespace
        The name of the implementing namespace. It should be one of the valid namespaces always.
        See Also:
        Namespace.isNamespaceValid(String)
      • mDeprecatedTable

        protected static java.util.Map mDeprecatedTable
        The table containing the mapping of the deprecated keys to the newer keys.
    • Constructor Detail

      • Pegasus

        public Pegasus()
        The default constructor. Note that the map is not allocated memory at this stage. It is done so in the overloaded construct function.
      • Pegasus

        public Pegasus​(java.util.Map mp)
        The overloaded constructor.
        Parameters:
        mp - the initial map.
    • Method Detail

      • namespaceName

        public java.lang.String namespaceName()
        Returns the name of the namespace associated with the profile implementations.
        Specified by:
        namespaceName in class Namespace
        Returns:
        the namespace name.
        See Also:
        NAMESPACE_NAME
      • construct

        public void construct​(java.lang.String key,
                              java.lang.String value)
        Constructs a new element of the format (key=value). It first checks if the map has been initialised or not. If not then allocates memory first. It converts the key to lower case before storing.
        Overrides:
        construct in class Namespace
        Parameters:
        key - is the left-hand-side
        value - is the right hand side
      • checkKey

        public int checkKey​(java.lang.String key,
                            java.lang.String value)
        This checks whether the key passed by the user is valid in the current namespace or not.
        Specified by:
        checkKey in class Namespace
        Parameters:
        key - (left hand side)
        value - (right hand side)
        Returns:
        Namespace.VALID_KEY Namespace.UNKNOWN_KEY Namespace.EMPTY_KEY
      • checkKeyInNS

        public void checkKeyInNS​(PegasusProperties properties,
                                 java.lang.String pool)
        It puts in the namespace specific information specified in the properties file into the namespace. The name of the pool is also passed, as many of the properties specified in the properties file are on a per pool basis. This is used to load the appropriate collapser for the job. Any preexisting profile is preferred over the one in the property file.
        Specified by:
        checkKeyInNS in class Namespace
        Parameters:
        properties - the PegasusProperties object containing all the properties that the user specified at various places (like .chimerarc, properties file, command line).
        pool - the pool name where the job is scheduled to run.
        See Also:
        COLLAPSER_KEY, TRANSFER_PROXY_KEY
      • merge

        public void merge​(Namespace profiles)
        UniqueMerge the profiles in the namespace in a controlled manner. In case of intersection, the new profile value (except for key runtime where the values are summed ) overrides, the existing profile value.
        Specified by:
        merge in class Namespace
        Parameters:
        profiles - the Namespace object containing the profiles.
      • deprecatedTable

        public java.util.Map deprecatedTable()
        Singleton access to the deprecated table that holds the deprecated keys, and the keys that replace them.
        Overrides:
        deprecatedTable in class Namespace
        Returns:
        Map
      • toCondor

        public java.lang.String toCondor()
        Converts the contents of the map into the string that can be put in the Condor file for printing.
        Specified by:
        toCondor in class Namespace
        Returns:
        the textual description.
      • unknownKey

        public void unknownKey​(java.lang.String key,
                               java.lang.String value)
        Warns about an unknown profile key and constructs it anyway. Constructs a new RSL element of the format (key=value).
        Overrides:
        unknownKey in class Namespace
        Parameters:
        key - is the left-hand-side
        value - is the right hand side
      • containsKey

        public boolean containsKey​(java.lang.Object key)
        Returns true if the namespace contains a mapping for the specified key. More formally, returns true if and only if this map contains at a mapping for a key k such that (key==null ? k==null : key.equals(k)). (There can be at most one such mapping.) It also returns false if the map does not exist.
        Overrides:
        containsKey in class Namespace
        Parameters:
        key - The key that you want to search for in the namespace.
        Returns:
        boolean
      • get

        public java.lang.Object get​(java.lang.Object key)
        Returns the value to which this namespace maps the specified key. Returns null if the map contains no mapping for this key. A return value of null does not necessarily indicate that the map contains no mapping for the key; it's also possible that the map explicitly maps the key to null. The containsKey operation may be used to distinguish these two cases.
        Overrides:
        get in class Namespace
        Parameters:
        key - The key whose value you want.
        Returns:
        the object
      • getBooleanValue

        public boolean getBooleanValue​(java.lang.Object key)
        Returns a boolean value, that a particular key is mapped to in this namespace. If the key is mapped to a non boolean value or the key is not populated in the namespace false is returned.
        Parameters:
        key - The key whose boolean value you desire.
        Returns:
        boolean
      • getStringValue

        public java.lang.String getStringValue​(java.lang.Object key)
        Returns a String value, that a particular key is mapped to in this namespace. If is not populated in the namespace null is returned.
        Parameters:
        key - The key whose boolean value you desire.
        Returns:
        String if key is in the namespace null otherwise.
      • clone

        public java.lang.Object clone()
        Returns a copy of the current namespace object
        Overrides:
        clone in class Namespace
        Returns:
        the Cloned object