org.sandev.basics.structs
Class ConfigurationStruct

java.lang.Object
  extended by org.sandev.basics.structs.ConfigurationStruct
Direct Known Subclasses:
Configuration

public class ConfigurationStruct
extends java.lang.Object

A description of an application deployment configuration.

Configuration information is saved as config.xml in the deployment env directory. This file is part of the application source code and modified using the config editor. The Configuration information is automatically verified at application startup.

Configuration information is not declared as persistent, even though the serialized form stored with the deployment drives runtime initialization. The update form of a configuration message is used for runtime dynamic configuration management if implemented.

This message can be transmitted directly outside of a verb form.
This message implements the AuthUser interface using email as the username.
This message has the following verb forms: update
help text: A description of an application deployment configuration. The configuration contains:

Field Summary
protected  java.lang.String description
          A description of this configuration.
protected  SandAttrVal[] globalParams
          Ad hoc global settings for the application, or supporting technology, which are independent of any one node instance.
protected  SandPersistMessage[] initialData
          The initial data which is required for this configuration to be brought up running.
protected  java.lang.String loggerClass
          The fully qualified name of the class which will be used for logging functions in this configuration.
protected  java.lang.String messagerClass
          The fully qualified name of the class which will be used for messaging functions in this configuration.
protected  java.lang.String name
          A name uniquely identifying this configuration among other known configurations.
protected  NodeInstance[] nodes
          The node instances which make up this configuration.
protected  ServerDeclarationStruct[] servers
          The servers that make up this configuration.
 
Constructor Summary
ConfigurationStruct()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name
A name uniquely identifying this configuration among other known configurations. Used for identification purposes.

declared default value: "default"
the values for this field are unique.
declared invalid value: "SANDEV_INVALID_NAME"
Length in characters, normal: 30 max: 128
help text: A name uniquely identifying this configuration among other known configurations. Used for identification purposes.

description

protected java.lang.String description
A description of this configuration. Open text field for any additional helpful information. Optional.

declared default value: ""
declared invalid value: "SANDEV_INVALID_DESCRIPTION"
Length in characters, normal: 255 max: 4096
help text: A description of this configuration. Open text field for any additional helpful information. Optional.

loggerClass

protected java.lang.String loggerClass
The fully qualified name of the class which will be used for logging functions in this configuration. The specified class must implement the Logger interface.

declared default value: "org.sandev.tools.util.SandLogger"
declared invalid value: "SANDEV_INVALID_LOGGER_CLASS"
Length in characters, normal: 60 max: 80
help text: The fully qualified name of the class which will be used for logging functions in this configuration.

messagerClass

protected java.lang.String messagerClass
The fully qualified name of the class which will be used for messaging functions in this configuration. The specified class must implement the Messager interface.

declared default value: "org.sandev.tools.util.DirectCallMessager"
declared invalid value: "SANDEV_INVALID_MESSAGER_CLASS"
Length in characters, normal: 60 max: 80
help text: The fully qualified name of the class which will be used for messaging functions in this configuration.

globalParams

protected SandAttrVal[] globalParams
Ad hoc global settings for the application, or supporting technology, which are independent of any one node instance.

values for this field are persisted in their string form.
Length in characters, normal: 255 max: 8192
help text: Ad hoc global settings for the application, or supporting technology, which are independent of any one node instance.

initialData

protected SandPersistMessage[] initialData
The initial data which is required for this configuration to be brought up running.

By convention, any instance with a positive revisionNumber must exist as defined (isEquivalent returns true). If the existing instance does not match, then it will be reverted to its original values on startup. For all other instances (revisionNumber <= 0), an instance will be created if not found, but any found instance does not have to match the original values. This allows a configuration to distinguish instances which must exist as-is (positive revision number) from instances which simply need to exist with specific uniqueID values (negative or zero revisionNumber).

help text: The initial data which is required for this configuration to be brought up running.

servers

protected ServerDeclarationStruct[] servers
The servers that make up this configuration. For sysadmins/netadmins servers are referred to as nodes. To avoid ambiguity, we recommend referring to servers and SAND nodes.

help text: The servers that make up this configuration.

nodes

protected NodeInstance[] nodes
The node instances which make up this configuration. These are assigned to servers based on the server name.

help text: The node instances which make up this configuration.
Constructor Detail

ConfigurationStruct

public ConfigurationStruct()