org.griphyn.cPlanner.namespace
Class ENV

java.lang.Object
  extended by org.griphyn.cPlanner.classes.Data
      extended by org.griphyn.cPlanner.namespace.Namespace
          extended by org.griphyn.cPlanner.namespace.ENV
All Implemented Interfaces:
Cloneable

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: 50 $
Author:
Karan Vahi, Gaurang Mehta

Nested Class Summary
 
Nested classes/interfaces inherited from class org.griphyn.cPlanner.namespace.Namespace
Namespace.EmptyIterator
 
Field Summary
static String GRIDSTART_PREJOB
          The name of the environment variable that specifies the Gridstart PREJOB.
protected  String mNamespace
          The name of the implementing namespace.
static String NAMESPACE_NAME
          The name of the namespace that this class implements.
static String X509_USER_PROXY_KEY
          The name of the environment variable that specifies the path to the proxy.
 
Fields inherited from class org.griphyn.cPlanner.namespace.Namespace
DEPRECATED_KEY, MALFORMED_KEY, mProfileMap, NOT_PERMITTED_KEY, UNKNOWN_KEY, VALID_KEY, VERSION
 
Fields inherited from class org.griphyn.cPlanner.classes.Data
mLogger, mLogMsg
 
Constructor Summary
ENV()
          The default constructor.
ENV(Map mp)
          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.
 void checkKeyInNS(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.
 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).
 void merge(Namespace profiles)
          Merge the profiles in the namespace in a controlled manner.
 String namespaceName()
          Returns the name of the namespace associated with the profile implementations.
 String toString()
          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, getProfileKeyIterator, 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

X509_USER_PROXY_KEY

public static final 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 String GRIDSTART_PREJOB
The name of the environment variable that specifies the Gridstart PREJOB.

See Also:
Constant Field Values

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

ENV

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


ENV

public ENV(Map mp)
The overloaded constructor.

Parameters:
mp - map (possibly empty).
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

construct

public void construct(String key,
                      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.

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. At present, for this namespace all the keys are construed as valid as long as the value passed is not null.

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

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

checkKeyInNS

public void checkKeyInNS(PegasusProperties properties,
                         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 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.

checkKeyInNS

public void checkKeyInNS(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.

Specified by:
merge in class Namespace
Parameters:
profiles - the Namespace object containing the profiles.

clone

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

Overrides:
clone in class Object
Returns:
the Cloned object


Copyright © 2007 The University of Southern California. All Rights Reserved.