Package tigase.conf

# Class ConfiguratorAbstract

java.lang.Object
tigase.server.BasicComponent
tigase.server.AbstractComponentRegistrator<Configurable>
tigase.conf.ConfiguratorAbstract

All Implemented Interfaces:
  `ClusteredComponentIfc`, `Configurable`, `RepositoryChangeListenerIfc<ConfigItem>`, `XMPPService`, `ConfigurationChangedAware`, `Initializable`, `ComponentRegistrator`, `ServerComponent`, `StatisticsContainer`, `StatisticsContainerIfc`, `VHostListener`

Direct Known Subclasses:
  `Configurator`, `ConfiguratorOld`

public abstract class ConfiguratorAbstract extends AbstractComponentRegistrator<Configurable> implements RepositoryChangeListenerIfc<ConfigItem>, StatisticsContainer
Created: Dec 7, 2009 4:15:31 PM

Author:
  Artur Hefczyc

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class tigase.server.BasicComponent

  `BasicComponent.ServerInfoVHostItemExtension`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `AUTH_DOMAIN_POOL_CLASS_PROP_KEY`
  Deprecated.
  moved to RepositoryFactory
  `static final String`
  `AUTH_DOMAIN_POOL_CLASS_PROP_VAL`
  Deprecated.
  moved to RepositoryFactory
  `static final String`
  `CONFIG_REPO_CLASS_INIT_KEY`
  Deprecated.
  `static final String`
  `CONFIG_REPO_CLASS_PROP_KEY`
  Deprecated.
  `static final String`
  `INIT_PROPERTIES_MAP_BIND`
  `static final String`
  `LOGGING_KEY`
  `static String`
  `logManagerConfiguration`
  `static final String`
  `PROPERTY_FILENAME_PROP_DEF`
  `static final String`
  `PROPERTY_FILENAME_PROP_KEY`
  `static final String`
  `USER_DOMAIN_POOL_CLASS_PROP_KEY`
  Deprecated.
  moved to RepositoryFactory
  `static final String`
  `USER_DOMAIN_POOL_CLASS_PROP_VAL`
  Deprecated.
  moved to RepositoryFactory

  ### Fields inherited from class tigase.server.AbstractComponentRegistrator

  `components`

  ### Fields inherited from class tigase.server.BasicComponent

  `admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, scriptEngineManager, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager`

  ### Fields inherited from interface tigase.conf.Configurable

  `ADMINS_PROP_KEY, AMP_CLASS_NAME, AMP_CLUST_CLASS_NAME, AUTH_DOMAIN_POOL_CLASS, AUTH_REPO_DOMAINS_PROP_KEY, AUTH_REPO_PARAMS_NODE, AUTH_REPO_POOL_CLASS, AUTH_REPO_URL_PROP_KEY, BOSH_CLUST_COMP_CLASS_NAME, BOSH_COMP_CLASS_NAME, C2S_CLUST_COMP_CLASS_NAME, C2S_COMP_CLASS_NAME, CL_COMP_CLASS_NAME, CLUSTER_CONECT, CLUSTER_CONTR_CLASS_NAME, CLUSTER_LISTEN, CLUSTER_MODE, CLUSTER_NODES, CLUSTER_NODES_PROP_KEY, COMP_PROT_CLASS_NAME, COMPONENT_ID_PROP_KEY, DEF_AMP_NAME, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_NAME, DEF_COMP_PROT_NAME, DEF_EVENTBUS_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DEF_WS2S_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_URL_PROP_VAL, DRUPALWP_REPO_CLASS_PROP_VAL, DUMMY_REPO_CLASS_PROP_VAL, EVENTBUS_CLASS_NAME, EXT_COMP_CLASS_NAME, GEN_ADMINS, GEN_AUTH_DB, GEN_AUTH_DB_URI, GEN_COMP_CLASS, GEN_COMP_NAME, GEN_CONF, GEN_CONFIG, GEN_CONFIG_ALL, GEN_CONFIG_COMP, GEN_CONFIG_CS, GEN_CONFIG_DEF, GEN_CONFIG_SM, GEN_DEBUG, GEN_DEBUG_PACKAGES, GEN_EXT_COMP, GEN_MAX_QUEUE_SIZE, GEN_SCRIPT_DIR, GEN_SM_PLUGINS, GEN_SREC_ADMINS, GEN_SREC_DB, GEN_SREC_DB_URI, GEN_TEST, GEN_TRUSTED, GEN_USER_DB, GEN_USER_DB_URI, GEN_USER_DB_URI_PROP_KEY, GEN_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MONITOR_CLASS_NAME, MONITOR_CLUST_CLASS_NAME, MONITORING, MYSQL_REPO_CLASS_PROP_VAL, MYSQL_REPO_URL_PROP_VAL, PGSQL_REPO_CLASS_PROP_VAL, PGSQL_REPO_URL_PROP_VAL, ROUTER_COMP_CLASS_NAME, S2S_CLUST_COMP_CLASS_NAME, S2S_COMP_CLASS_NAME, SHARED_AUTH_REPO_PARAMS_PROP_KEY, SHARED_AUTH_REPO_PROP_KEY, SHARED_USER_REPO_PARAMS_PROP_KEY, SHARED_USER_REPO_PROP_KEY, SM_CLUST_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, STANZA_WHITE_CHAR_ACK, STANZA_XMPP_ACK, STATS_CLASS_NAME, STRINGPREP_PROCESSOR, TIGASE_AUTH_REPO_CLASS_PROP_VAL, TIGASE_AUTH_REPO_URL_PROP_VAL, TIGASE_CUSTOM_AUTH_REPO_CLASS_PROP_VAL, TRUSTED_PROP_KEY, USER_DOMAIN_POOL_CLASS, USER_REPO_DOMAINS_PROP_KEY, USER_REPO_PARAMS_NODE, USER_REPO_POOL_CLASS, USER_REPO_POOL_SIZE, USER_REPO_POOL_SIZE_PROP_KEY, USER_REPO_URL_PROP_KEY, VHOST_MAN_CLASS_NAME, VHOST_MAN_CLUST_CLASS_NAME, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACK`

  ### Fields inherited from interface tigase.disco.XMPPService

  `CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConfiguratorAbstract()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `componentAdded(Configurable component)`
  Method provides a callback mechanism signaling that a new component implementing special interface has been added to the internal `components` collection.
  `void`
  `componentRemoved(Configurable component)`
  Method provides a callback mechanism signaling that a component implementing special interface has been removed from the internal `components` collection.
  `Map<String,Object>`
  `getDefaults(Map<String,Object> params)`
  Returns default configuration settings for the component as a `Map` with keys as configuration property IDs and values as the configuration property values.
  `Map<String,Object>`
  `getDefConfigParams()`
  `String`
  `getMessageRouterClassName()`
  `static Object`
  `getMXBean(String objName)`
  `Map<String,Object>`
  `getProperties(String nodeId)`
  `void`
  `getStatistics(StatisticsList list)`
  `void`
  `init(String[] args)`
  `void`
  `initBindings(Bindings binds)`
  Initialize a mapping of key/value pairs which can be used in scripts loaded by the server
  `void`
  `initializationCompleted()`
  Method is called by `MessageRouter` when all the startup components of the server have been loaded and configured through setProperties(...) call.
  `boolean`
  `isCorrectType(ServerComponent component)`
  Method checks whether the component provides as method parameter is correct type that is implements special interface or extends special class.
  `void`
  `itemAdded(ConfigItem item)`
  `void`
  `itemRemoved(ConfigItem item)`
  `void`
  `itemUpdated(ConfigItem item)`
  `static void`
  `loadFromPropertiesFiles(String property_filenames, Map<String,Object> initProperties, List<String> initSettings)`
  `static void`
  `loadFromPropertiesFiles(Map<String,Object> initProperties, List<String> initSettings)`
  `static void`
  `loadLogManagerConfig(String config)`
  `void`
  `parseArgs(String[] args)`
  `static void`
  `parseArgs(Map<String,Object> initProperties, List<String> initSettings, String[] args)`
  `static void`
  `putMXBean(String objName, Object bean)`
  `void`
  `putProperties(String compId, Map<String,Object> props)`
  `void`
  `setProperties(Map<String,Object> props)`
  Sets all configuration properties for the object.
  `void`
  `setup(Configurable component)`

  ### Methods inherited from class tigase.server.AbstractComponentRegistrator

  `addComponent, deleteComponent, getComponent, newPacketId, release`

  ### Methods inherited from class tigase.server.BasicComponent

  `addComponentDomain, beanConfigurationChanged, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, everyHour, everyMinute, everySecond, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processPacket, processScriptCommand, reloadScripts, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setCompId, setName, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface tigase.server.ServerComponent

  `getComponentId, getComponentInfo, getName, isInitializationComplete, processPacket, release, setName`

  ### Methods inherited from interface tigase.stats.StatisticsContainerIfc

  `getName`

- ## Field Details

  - ### AUTH_DOMAIN_POOL_CLASS_PROP_KEY

    @Deprecated public static final String AUTH_DOMAIN_POOL_CLASS_PROP_KEY
    Deprecated.
    moved to RepositoryFactory
    See Also:
      - Constant Field Values

  - ### AUTH_DOMAIN_POOL_CLASS_PROP_VAL

    @Deprecated public static final String AUTH_DOMAIN_POOL_CLASS_PROP_VAL
    Deprecated.
    moved to RepositoryFactory
    See Also:
      - Constant Field Values

  - ### CONFIG_REPO_CLASS_INIT_KEY

    @Deprecated public static final String CONFIG_REPO_CLASS_INIT_KEY
    Deprecated.
    See Also:
      - Constant Field Values

  - ### CONFIG_REPO_CLASS_PROP_KEY

    @Deprecated public static final String CONFIG_REPO_CLASS_PROP_KEY
    Deprecated.
    See Also:
      - Constant Field Values

  - ### INIT_PROPERTIES_MAP_BIND

    public static final String INIT_PROPERTIES_MAP_BIND
    See Also:
      - Constant Field Values

  - ### PROPERTY_FILENAME_PROP_KEY

    public static final String PROPERTY_FILENAME_PROP_KEY
    See Also:
      - Constant Field Values

  - ### PROPERTY_FILENAME_PROP_DEF

    public static final String PROPERTY_FILENAME_PROP_DEF
    See Also:
      - Constant Field Values

  - ### USER_DOMAIN_POOL_CLASS_PROP_KEY

    @Deprecated public static final String USER_DOMAIN_POOL_CLASS_PROP_KEY
    Deprecated.
    moved to RepositoryFactory
    See Also:
      - Constant Field Values

  - ### USER_DOMAIN_POOL_CLASS_PROP_VAL

    @Deprecated public static final String USER_DOMAIN_POOL_CLASS_PROP_VAL
    Deprecated.
    moved to RepositoryFactory
    See Also:
      - Constant Field Values

  - ### LOGGING_KEY

    public static final String LOGGING_KEY
    See Also:
      - Constant Field Values

  - ### logManagerConfiguration

    public static String logManagerConfiguration

- ## Constructor Details

  - ### ConfiguratorAbstract

    public ConfiguratorAbstract()

- ## Method Details

  - ### getMXBean

    public static Object getMXBean(String objName)

  - ### loadFromPropertiesFiles

    public static void loadFromPropertiesFiles(String property_filenames, Map<String,Object> initProperties, List<String> initSettings)

  - ### loadFromPropertiesFiles

    public static void loadFromPropertiesFiles(Map<String,Object> initProperties, List<String> initSettings)

  - ### loadLogManagerConfig

    public static void loadLogManagerConfig(String config)

  - ### parseArgs

    public static void parseArgs(Map<String,Object> initProperties, List<String> initSettings, String[] args)

  - ### putMXBean

    public static void putMXBean(String objName, Object bean)

  - ### componentAdded

    public void componentAdded(Configurable component) throws ConfigurationException
    Description copied from class: `AbstractComponentRegistrator`
    Method provides a callback mechanism signaling that a new component implementing special interface has been added to the internal `components` collection.
    Specified by:
      `componentAdded` in class `AbstractComponentRegistrator<Configurable>`
    Parameters:
      `component` - is a reference to the component just added to the collection.
    Throws:
      `ConfigurationException`

  - ### componentRemoved

    public void componentRemoved(Configurable component)
    Description copied from class: `AbstractComponentRegistrator`
    Method provides a callback mechanism signaling that a component implementing special interface has been removed from the internal `components` collection.
    Specified by:
      `componentRemoved` in class `AbstractComponentRegistrator<Configurable>`
    Parameters:
      `component` - is a reference to the component removed from the collection.

  - ### init

    public void init(String[] args) throws ConfigurationException, TigaseDBException
    Throws:
      `ConfigurationException`
      `TigaseDBException`

  - ### initBindings

    public void initBindings(Bindings binds)
    Description copied from class: `BasicComponent`
    Initialize a mapping of key/value pairs which can be used in scripts loaded by the server
    Overrides:
      `initBindings` in class `BasicComponent`
    Parameters:
      `binds` - A mapping of key/value pairs, all of whose keys are Strings.

  - ### initializationCompleted

    public void initializationCompleted()
    Description copied from interface: `ServerComponent`
    Method is called by `MessageRouter` when all the startup components of the server have been loaded and configured through setProperties(...) call. At this point the whole server should be loaded and functional, except initializations taking place in this routine.
    Specified by:
      `initializationCompleted` in interface `ServerComponent`
    Overrides:
      `initializationCompleted` in class `BasicComponent`

  - ### itemAdded

    public void itemAdded(ConfigItem item)
    Specified by:
      `itemAdded` in interface `RepositoryChangeListenerIfc<ConfigItem>`

  - ### itemRemoved

    public void itemRemoved(ConfigItem item)
    Specified by:
      `itemRemoved` in interface `RepositoryChangeListenerIfc<ConfigItem>`

  - ### itemUpdated

    public void itemUpdated(ConfigItem item)
    Specified by:
      `itemUpdated` in interface `RepositoryChangeListenerIfc<ConfigItem>`

  - ### parseArgs

    public void parseArgs(String[] args)

  - ### putProperties

    public void putProperties(String compId, Map<String,Object> props) throws ConfigurationException
    Throws:
      `ConfigurationException`

  - ### setup

    public void setup(Configurable component) throws ConfigurationException
    Throws:
      `ConfigurationException`

  - ### getDefaults

    public Map<String,Object> getDefaults(Map<String,Object> params)
    Description copied from interface: `Configurable`
    Returns default configuration settings for the component as a `Map` with keys as configuration property IDs and values as the configuration property values. All the default parameters returned from this method are later passed to the `setProperties(...)` method. Some of them may have changed value if they have been overwritten in the server configuration. The configuration property value can be of any of the basic types: `int`, `long`, `boolean`, `String`.
    Specified by:
      `getDefaults` in interface `Configurable`
    Overrides:
      `getDefaults` in class `BasicComponent`
    Parameters:
      `params` - is a `Map` with some initial properties set for the starting up server. These parameters can be used as a hints to generate component's default configuration.
    Returns:
      a `Map` with the component default configuration.

  - ### getDefConfigParams

    public Map<String,Object> getDefConfigParams()

  - ### getMessageRouterClassName

    public String getMessageRouterClassName()

  - ### getProperties

    public Map<String,Object> getProperties(String nodeId) throws ConfigurationException
    Throws:
      `ConfigurationException`

  - ### getStatistics

    public void getStatistics(StatisticsList list)
    Specified by:
      `getStatistics` in interface `StatisticsContainerIfc`
    Overrides:
      `getStatistics` in class `BasicComponent`

  - ### isCorrectType

    public boolean isCorrectType(ServerComponent component)
    Description copied from class: `AbstractComponentRegistrator`
    Method checks whether the component provides as method parameter is correct type that is implements special interface or extends special class. Result of the method determines whether the component can be added to the internal `components` collection.
    Specified by:
      `isCorrectType` in class `AbstractComponentRegistrator<Configurable>`
    Parameters:
      `component` - is a reference to the component being checked.
    Returns:
      a `boolean` value of `true` if the component is of a correct type and `false` otherwise.

  - ### setProperties

    public void setProperties(Map<String,Object> props) throws ConfigurationException
    Description copied from interface: `Configurable`
    Sets all configuration properties for the object.
    Specified by:
      `setProperties` in interface `Configurable`
    Overrides:
      `setProperties` in class `BasicComponent`
    Parameters:
      `props` - `Map` with the configuration
    Throws:
      `ConfigurationException` - - if setting configuration will fail which will make it unable to work