com.continuent.tungsten.common.config.cluster
Class ClusterConfiguration

java.lang.Object
  extended by com.continuent.tungsten.common.config.cluster.ClusterConfiguration
Direct Known Subclasses:
ClusterPolicyManagerConfiguration, DataServicesConfiguration, QueryStatusToResourceStateConfiguration, RouterConfiguration

public class ClusterConfiguration
extends java.lang.Object


Field Summary
static java.lang.String clusterHomeName
           
 TungstenProperties props
          The source of the properties for this configuration.
 
Constructor Summary
ClusterConfiguration(java.lang.String clusterName)
           
ClusterConfiguration(java.lang.String clusterName, java.lang.String configFileName)
          Creates a new ClusterConfiguration object
 
Method Summary
 void applyProperties(java.lang.Object o)
          Apply the properties from this configuration to another instance.
 void createClusterConfigRootDirs()
          Creates the directory hierarchy for the root of a cluster configuration
 void createConfigDirs(java.lang.String clusterName)
           
 void createDataServicesConfiguration(java.lang.String clusterName)
          Creates a default data services configuration in the correct location
 void createDefaultConfiguration(java.lang.String clusterName)
           
 void createPolicyManagerConfiguration(java.lang.String clusterName)
          Creates a default policy manager configuration in the correct location
 void createRouterConfiguration(java.lang.String clusterName)
          Creates a new router configuration file in the correct location.
static void delete(java.lang.String configFileName)
           
 void deleteResourceConfig(java.lang.String clusterName, ResourceType resourceType, java.lang.String dsName)
          Delete a specific resource configuration.
static void delFile(java.lang.String delFileName)
          deletes a specific file
static java.lang.String getClusterConfigDirName(java.lang.String clusterHome, java.lang.String clusterName)
           
static java.lang.String getClusterConfigRootDirName(java.lang.String clusterHome)
           
static java.lang.String getClusterHome()
           
 java.lang.String getClusterName()
           
 java.lang.String getConfigFileNameInUse()
           
static java.io.File getDir(java.lang.String dirName)
          Validates that a directory exists.
static java.lang.String getGlobalConfigDirName(java.lang.String clusterHome)
           
static java.lang.String getModulePropertiesFileName(java.lang.String moduleProps, java.lang.String clusterHome)
          Determines the filename of a given module properties file by either getting the path from the system variable named with the same label as the properties file (eg.
 TungstenProperties getProps()
          Returns the cluster properties
static java.lang.String getResourceConfigDirName(java.lang.String clusterHome, java.lang.String clusterName, ResourceType resourceType)
          Return the full pathname of a resource directory for a given cluster.
 void load(java.lang.String configFileName)
          Loads a cluster configuration from a file located on the classpath.
static java.util.Map<java.lang.String,java.util.Map<java.lang.String,TungstenProperties>> loadClusterConfiguration(ResourceType resourceType)
          Loads a set of resource configurations from the appropriate directory according to Tungsten resource conventions.
static java.util.Map<java.lang.String,TungstenProperties> loadConfiguration(java.lang.String clusterName, ResourceType resourceType)
          Returns configurations for a set of resources of a given resourceType for a given clusterName.
 void setClusterHome(java.lang.String chome)
           
 void setClusterName(java.lang.String clusterName)
           
static void store(java.lang.String configFileName, TungstenProperties props)
           
 void store(TungstenProperties props, java.lang.String outFileName)
          Stores a configuration file in a specific output file.
 void storeResourceConfig(java.lang.String clusterName, ResourceType resourceType, TungstenProperties resourceProps)
          Store a properties file as a resource configuration using the resource configuration standards for Tungsten
 void storeResourcesConfig(java.lang.String clusterName, ResourceType resourceType, java.util.Map<java.lang.String,TungstenProperties> resourceList)
          Store a list of resources in individual properties files
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

clusterHomeName

public static java.lang.String clusterHomeName

props

public TungstenProperties props
The source of the properties for this configuration. getClusterHome

Constructor Detail

ClusterConfiguration

public ClusterConfiguration(java.lang.String clusterName)

ClusterConfiguration

public ClusterConfiguration(java.lang.String clusterName,
                            java.lang.String configFileName)
                     throws ConfigurationException
Creates a new ClusterConfiguration object

Parameters:
configFileName -
Throws:
ConfigurationException
Method Detail

loadClusterConfiguration

public static java.util.Map<java.lang.String,java.util.Map<java.lang.String,TungstenProperties>> loadClusterConfiguration(ResourceType resourceType)
                                                                                                                   throws ConfigurationException
Loads a set of resource configurations from the appropriate directory according to Tungsten resource conventions. The cluster directory hierarchy looks like this: {clusterHome}/cluster/{clusterName}/{resourceType}

Parameters:
resourceType -
Throws:
ConfigurationException

loadConfiguration

public static java.util.Map<java.lang.String,TungstenProperties> loadConfiguration(java.lang.String clusterName,
                                                                                   ResourceType resourceType)
                                                                            throws ConfigurationException
Returns configurations for a set of resources of a given resourceType for a given clusterName.

Parameters:
clusterName -
resourceType -
Throws:
ConfigurationException

storeResourceConfig

public void storeResourceConfig(java.lang.String clusterName,
                                ResourceType resourceType,
                                TungstenProperties resourceProps)
                         throws ConfigurationException
Store a properties file as a resource configuration using the resource configuration standards for Tungsten

Parameters:
resourceType -
resourceProps -
Throws:
ConfigurationException

storeResourcesConfig

public void storeResourcesConfig(java.lang.String clusterName,
                                 ResourceType resourceType,
                                 java.util.Map<java.lang.String,TungstenProperties> resourceList)
                          throws ConfigurationException
Store a list of resources in individual properties files

Parameters:
resourceType -
resourceList -
Throws:
ConfigurationException

deleteResourceConfig

public void deleteResourceConfig(java.lang.String clusterName,
                                 ResourceType resourceType,
                                 java.lang.String dsName)
                          throws ConfigurationException
Delete a specific resource configuration.

Parameters:
clusterName -
resourceType -
dsName -
Throws:
ConfigurationException

getResourceConfigDirName

public static java.lang.String getResourceConfigDirName(java.lang.String clusterHome,
                                                        java.lang.String clusterName,
                                                        ResourceType resourceType)
Return the full pathname of a resource directory for a given cluster.

Parameters:
clusterName -
resourceType -

getClusterConfigDirName

public static java.lang.String getClusterConfigDirName(java.lang.String clusterHome,
                                                       java.lang.String clusterName)

getGlobalConfigDirName

public static java.lang.String getGlobalConfigDirName(java.lang.String clusterHome)

getClusterConfigRootDirName

public static java.lang.String getClusterConfigRootDirName(java.lang.String clusterHome)

getModulePropertiesFileName

public static java.lang.String getModulePropertiesFileName(java.lang.String moduleProps,
                                                           java.lang.String clusterHome)
Determines the filename of a given module properties file by either getting the path from the system variable named with the same label as the properties file (eg. $router.properties) or by getting it from the default location in cluster-home/conf

Parameters:
moduleProps - the module properties file name
clusterHome - location of cluster home
Returns:

createDefaultConfiguration

public void createDefaultConfiguration(java.lang.String clusterName)
                                throws ConfigurationException
Throws:
ConfigurationException

createClusterConfigRootDirs

public void createClusterConfigRootDirs()
                                 throws ConfigurationException
Creates the directory hierarchy for the root of a cluster configuration

Throws:
ConfigurationException

createConfigDirs

public void createConfigDirs(java.lang.String clusterName)
                      throws ConfigurationException
Throws:
ConfigurationException

createRouterConfiguration

public void createRouterConfiguration(java.lang.String clusterName)
                               throws ConfigurationException
Creates a new router configuration file in the correct location.

Parameters:
clusterName - TODO
Throws:
ConfigurationException

createPolicyManagerConfiguration

public void createPolicyManagerConfiguration(java.lang.String clusterName)
                                      throws ConfigurationException
Creates a default policy manager configuration in the correct location

Parameters:
clusterName - TODO
Throws:
ConfigurationException

createDataServicesConfiguration

public void createDataServicesConfiguration(java.lang.String clusterName)
                                     throws ConfigurationException
Creates a default data services configuration in the correct location

Parameters:
clusterName - TODO
Throws:
ConfigurationException

load

public void load(java.lang.String configFileName)
          throws ConfigurationException
Loads a cluster configuration from a file located on the classpath.

Parameters:
configFileName -
Throws:
ConfigurationException

store

public static void store(java.lang.String configFileName,
                         TungstenProperties props)
                  throws ConfigurationException
Throws:
ConfigurationException

delete

public static void delete(java.lang.String configFileName)
                   throws ConfigurationException
Throws:
ConfigurationException

delFile

public static void delFile(java.lang.String delFileName)
                    throws ConfigurationException
deletes a specific file

Parameters:
delFileName -
Throws:
ConfigurationException

getDir

public static java.io.File getDir(java.lang.String dirName)
                           throws ConfigurationException
Validates that a directory exists.

Parameters:
dirName -
Throws:
ConfigurationException

store

public void store(TungstenProperties props,
                  java.lang.String outFileName)
           throws ConfigurationException
Stores a configuration file in a specific output file.

Parameters:
props -
outFileName -
Throws:
ConfigurationException

applyProperties

public void applyProperties(java.lang.Object o)
Apply the properties from this configuration to another instance.

Parameters:
o -

getClusterHome

public static java.lang.String getClusterHome()
                                       throws ConfigurationException
Throws:
ConfigurationException

setClusterHome

public void setClusterHome(java.lang.String chome)

getProps

public TungstenProperties getProps()
Returns the cluster properties

Returns:
Returns the cluster properties.

getClusterName

public java.lang.String getClusterName()

setClusterName

public void setClusterName(java.lang.String clusterName)

getConfigFileNameInUse

public java.lang.String getConfigFileNameInUse()