Class ENV
- java.lang.Object
-
- edu.isi.pegasus.planner.namespace.Namespace
-
- edu.isi.pegasus.planner.namespace.ENV
-
public class ENV extends Namespace
The environment namespace, that puts in the environment variables for the transformation that is being run, through Condor. At present on the occurence of a clash between the values of an environment variable the values are overwritten with the order of preference in decreasing order being users local properties, transformation catalog, pool file and the dax (vdl). Later on operations like append , prepend would also be supported.- Version:
- $Revision$
- Author:
- Karan Vahi, Gaurang Mehta
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class edu.isi.pegasus.planner.namespace.Namespace
Namespace.EmptyIterator
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
GRIDSTART_PREJOB
The name of the environment variable that specifies the Gridstart PREJOB.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
S3CFG
The name of the environment variable that specifies the s3cfg pathstatic java.lang.String
X509_USER_PROXY_KEY
The name of the environment variable that specifies the path to the proxy.-
Fields inherited from class edu.isi.pegasus.planner.namespace.Namespace
DEPRECATED_KEY, EMPTY_KEY, MALFORMED_KEY, mLogger, mProfileMap, NOT_PERMITTED_KEY, UNKNOWN_KEY, VALID_KEY, VERSION
-
-
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.void
checkKeyInNS(java.lang.String envString)
It takes in key=value pairs separated by a ; and puts them into the namespace after checking if they are valid or not.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).java.lang.Object
get(java.lang.Object key)
Returns the value to which this namespace maps the specified key.void
merge(Namespace profiles)
Merge 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.-
Methods inherited from class edu.isi.pegasus.planner.namespace.Namespace
assimilate, checkKeyInNS, checkKeyInNS, checkKeyInNS, checkKeyInNS, checkKeyInNS, containsKey, deprecatedKey, deprecatedTable, emptyKey, getProfileKeyIterator, isEmpty, isNamespaceValid, keySet, malformedKey, notPermitted, removeKey, toString, unknownKey
-
-
-
-
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
-
X509_USER_PROXY_KEY
public static final java.lang.String X509_USER_PROXY_KEY
The name of the environment variable that specifies the path to the proxy.- See Also:
- Constant Field Values
-
GRIDSTART_PREJOB
public static final java.lang.String GRIDSTART_PREJOB
The name of the environment variable that specifies the Gridstart PREJOB.- See Also:
- Constant Field Values
-
S3CFG
public static final java.lang.String S3CFG
The name of the environment variable that specifies the s3cfg path- See Also:
- Constant Field Values
-
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)
-
-
Method Detail
-
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.
-
namespaceName
public java.lang.String namespaceName()
Returns the name of the namespace associated with the profile implementations.- Specified by:
namespaceName
in classNamespace
- 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.
-
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. At present, for this namespace all the keys are construed as valid as long as the value passed is not null.
-
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.
-
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.- Specified by:
checkKeyInNS
in classNamespace
- Parameters:
properties
- thePegasusProperties
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.
-
checkKeyInNS
public void checkKeyInNS(java.lang.String envString)
It takes in key=value pairs separated by a ; and puts them into the namespace after checking if they are valid or not.- Parameters:
envString
- the String containing the environment variables and their values separated by a semi colon.
-
merge
public void merge(Namespace profiles)
Merge the profiles in the namespace in a controlled manner. In case of intersection, the new profile value overrides, the existing profile value.
-
-