org.griphyn.cPlanner.namespace
Class Dagman

java.lang.Object
  extended byorg.griphyn.cPlanner.classes.Data
      extended byorg.griphyn.cPlanner.namespace.Namespace
          extended byorg.griphyn.cPlanner.namespace.Dagman

public class Dagman
extends Namespace

This profile namespace is the placeholder for the keys that go into the .dag file . Keys like RETRY that trigger retries in dagman in the event of a job failing would go in here. All the keys stored in it are in UPPERCASE irrespective of the case specified by the user in the various catalogs. To specify a post script or a pre script use POST and PRE keys.

Version:
$Revision: 1.8 $
Author:
Karan Vahi, Gaurang Mehta

Field Summary
static String JOB_KEY
          The name of the key that indicates the path to the corresponding submit file for the job.
private  String mJobName
          The name of the job (jobname) to which the profiles for this namespace belong.
protected  String mNamespace
          The name of the implementing namespace.
static String NAMESPACE_NAME
          The name of the namespace that this class implements.
static String OUTPUT_KEY
          The name of the key that determines the file on the submit host on which postscript is to be invoked.
static String POST_SCRIPT_ARGUMENTS_KEY
          The name of the key that determines the arguments that need to be passed to the postscript.
static String POST_SCRIPT_KEY
          The name of the key that determines what post script is to be invoked when the job completes.
private static String POST_SCRIPT_REPLACEMENT_KEY
          The key name for the post script that is put in the .dag file.
static String PRE_SCRIPT_ARGUMENTS_KEY
          The name of the key that determines the arguments that need to be passed to the postscript.
static String PRE_SCRIPT_KEY
          The name of the key that determines what pre script is to be invoked when the job is run.
private static String PRE_SCRIPT_REPLACEMENT_KEY
          The key name for the pre script that is put in the .dag file.
static String RETRY_KEY
          The name of the key that determines how many times DAGMAN should be retrying the job.
 
Fields inherited from class org.griphyn.cPlanner.namespace.Namespace
DEPRECATED_KEY, MALFORMED_KEY, mProfileMap, NOT_PERMITTED_KEY, UNKNOWN_KEY, VALID_KEY
 
Fields inherited from class org.griphyn.cPlanner.classes.Data
mLogger, mLogMsg
 
Constructor Summary
Dagman()
          The default constructor.
Dagman(Map mp)
          The overloaded constructor.
Dagman(Map mp, String name)
          The overloaded constructor.
 
Method Summary
 int checkKey(String key, String value)
          This checks whether the key passed by the user is valid in the current namespace or not.
 void checkKeyInNS(PegasusProperties properties, String pool)
          It puts in the namespace specific information specified in the properties file into the namespace.
 Object clone()
          Returns a copy of the current namespace object.
 void construct(String key, String value)
          Constructs a new element of the format (key=value).
private  boolean ignore(String key)
          Helper method to decide whether a key has to be ignored or not.
 String namespaceName()
          Returns the name of the namespace associated with the profile implementations.
private  String replacementKey(String key)
          Returns the replacement key that needs to be printed in .dag file in lieu of the key.
private  String replacementValue(String key)
          Returns the replacement value that needs to be printed in .dag file for a key.
 void setJobName(String name)
          It sets the name of the job that is associated with the profiles contained in this placeholder.
 String toString()
          Converts the contents of the map into the string that can be put in the Condor file for printing.
 String toString(String name)
          Converts the contents of the map into the string that can be put in the Condor file for printing.
 
Methods inherited from class org.griphyn.cPlanner.namespace.Namespace
checkKeyInNS, checkKeyInNS, checkKeyInNS, checkKeyInNS, containsKey, deprecatedKey, deprecatedTable, get, isNamespaceValid, keySet, malformedKey, notPermitted, removeKey, unknownKey
 
Methods inherited from class org.griphyn.cPlanner.classes.Data
setToString, vectorToString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NAMESPACE_NAME

public static final String NAMESPACE_NAME
The name of the namespace that this class implements.

See Also:
Constant Field Values

POST_SCRIPT_KEY

public static final String POST_SCRIPT_KEY
The name of the key that determines what post script is to be invoked when the job completes.

See Also:
Constant Field Values

POST_SCRIPT_ARGUMENTS_KEY

public static final String POST_SCRIPT_ARGUMENTS_KEY
The name of the key that determines the arguments that need to be passed to the postscript.

See Also:
Constant Field Values

OUTPUT_KEY

public static final String OUTPUT_KEY
The name of the key that determines the file on the submit host on which postscript is to be invoked.

See Also:
Constant Field Values

PRE_SCRIPT_KEY

public static final String PRE_SCRIPT_KEY
The name of the key that determines what pre script is to be invoked when the job is run.

See Also:
Constant Field Values

PRE_SCRIPT_ARGUMENTS_KEY

public static final String PRE_SCRIPT_ARGUMENTS_KEY
The name of the key that determines the arguments that need to be passed to the postscript.

See Also:
Constant Field Values

RETRY_KEY

public static final String RETRY_KEY
The name of the key that determines how many times DAGMAN should be retrying the job.

See Also:
Constant Field Values

JOB_KEY

public static final String JOB_KEY
The name of the key that indicates the path to the corresponding submit file for the job.

See Also:
Constant Field Values

POST_SCRIPT_REPLACEMENT_KEY

private static final String POST_SCRIPT_REPLACEMENT_KEY
The key name for the post script that is put in the .dag file.

See Also:
Constant Field Values

PRE_SCRIPT_REPLACEMENT_KEY

private static final String PRE_SCRIPT_REPLACEMENT_KEY
The key name for the pre script that is put in the .dag file.

See Also:
Constant Field Values

mJobName

private String mJobName
The name of the job (jobname) to which the profiles for this namespace belong.

See Also:
SubInfo.jobName

mNamespace

protected String mNamespace
The name of the implementing namespace. It should be one of the valid namespaces always.

See Also:
Namespace.isNamespaceValid(String)
Constructor Detail

Dagman

public Dagman()
The default constructor. We always initialize the map, as the map is guarenteed to store at least the postscript value for a job.


Dagman

public Dagman(Map mp)
The overloaded constructor.

Parameters:
mp - the initial map containing the profile keys for this namespace.

Dagman

public Dagman(Map mp,
              String name)
The overloaded constructor.

Parameters:
mp - the initial map containing the profile keys for this namespace.
name - name of the job with which these profile keys are associated.
Method Detail

namespaceName

public 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

setJobName

public void setJobName(String name)
It sets the name of the job that is associated with the profiles contained in this placeholder.

Parameters:
name - name of the job with which these profile keys are associated.

construct

public void construct(String key,
                      String value)
Constructs a new element of the format (key=value). The underlying map is allocated memory in the constructors always. All the keys are converted to UPPER 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(String key,
                    String value)
This checks whether the key passed by the user is valid in the current namespace or not. All keys are assumed valid currently.

Specified by:
checkKey in class Namespace
Parameters:
key - (left hand side)
value - (right hand side)
Returns:
Namespace.VALID_KEY

checkKeyInNS

public void checkKeyInNS(PegasusProperties properties,
                         String pool)
It puts in the namespace specific information specified in the properties file into the namespace. The profile information is populated only if the corresponding key does not exist in the object already.

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.

toString

public String toString()
Converts the contents of the map into the string that can be put in the Condor file for printing.

Specified by:
toString in class Data
Returns:
the the textual description.

toString

public String toString(String name)
Converts the contents of the map into the string that can be put in the Condor file for printing.

Parameters:
name - the name of the condor job that contains these variables.
Returns:
the textual description.

ignore

private boolean ignore(String key)
Helper method to decide whether a key has to be ignored or not.

Returns:
boolean

replacementKey

private String replacementKey(String key)
Returns the replacement key that needs to be printed in .dag file in lieu of the key.

Returns:
the replacement key.

replacementValue

private String replacementValue(String key)
Returns the replacement value that needs to be printed in .dag file for a key. This helps us tie the post script path to the arguments, and same for prescript.

Returns:
the replacement value

clone

public Object clone()
Returns a copy of the current namespace object.

Specified by:
clone in class Data
Returns:
the Cloned object


Copyright © 2003 The University of Chicago and The University of Southern California. All Rights Reserved.