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 java.lang.String` | `AUTH_DOMAIN_POOL_CLASS_PROP_KEY` | Deprecated. moved to RepositoryFactory
    `static java.lang.String` | `AUTH_DOMAIN_POOL_CLASS_PROP_VAL` | Deprecated. moved to RepositoryFactory
    `static java.lang.String` | `CONFIG_REPO_CLASS_INIT_KEY` | Deprecated.
    `static java.lang.String` | `CONFIG_REPO_CLASS_PROP_KEY` | Deprecated.
    `static java.lang.String` | `INIT_PROPERTIES_MAP_BIND` |
    `static java.lang.String` | `LOGGING_KEY` |
    `static java.lang.String` | `logManagerConfiguration` |
    `static java.lang.String` | `PROPERTY_FILENAME_PROP_DEF` |
    `static java.lang.String` | `PROPERTY_FILENAME_PROP_KEY` |
    `static java.lang.String` | `USER_DOMAIN_POOL_CLASS_PROP_KEY` | Deprecated. moved to RepositoryFactory
    `static java.lang.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

    All Methods Static Methods Instance Methods Concrete Methods
    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.
    `java.util.Map<java.lang.String,​java.lang.Object>` | `getDefaults​(java.util.Map<java.lang.String,​java.lang.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.
    `java.util.Map<java.lang.String,​java.lang.Object>` | `getDefConfigParams()` |
    `java.lang.String` | `getMessageRouterClassName()` |
    `static java.lang.Object` | `getMXBean​(java.lang.String objName)` |
    `java.util.Map<java.lang.String,​java.lang.Object>` | `getProperties​(java.lang.String nodeId)` |
    `void` | `getStatistics​(StatisticsList list)` |
    `void` | `init​(java.lang.String[] args)` |
    `void` | `initBindings​(javax.script.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​(java.lang.String property_filenames, java.util.Map<java.lang.String,​java.lang.Object> initProperties, java.util.List<java.lang.String> initSettings)` |
    `static void` | `loadFromPropertiesFiles​(java.util.Map<java.lang.String,​java.lang.Object> initProperties, java.util.List<java.lang.String> initSettings)` |
    `static void` | `loadLogManagerConfig​(java.lang.String config)` |
    `void` | `parseArgs​(java.lang.String[] args)` |
    `static void` | `parseArgs​(java.util.Map<java.lang.String,​java.lang.Object> initProperties, java.util.List<java.lang.String> initSettings, java.lang.String[] args)` |
    `static void` | `putMXBean​(java.lang.String objName, java.lang.Object bean)` |
    `void` | `putProperties​(java.lang.String compId, java.util.Map<java.lang.String,​java.lang.Object> props)` |
    `void` | `setProperties​(java.util.Map<java.lang.String,​java.lang.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 Detail

    - #### AUTH_DOMAIN_POOL_CLASS_PROP_KEY

          @Deprecated
          public static final java.lang.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 java.lang.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 java.lang.String CONFIG_REPO_CLASS_INIT_KEY

      Deprecated.
      See Also:
        Constant Field Values

    - #### CONFIG_REPO_CLASS_PROP_KEY

          @Deprecated
          public static final java.lang.String CONFIG_REPO_CLASS_PROP_KEY

      Deprecated.
      See Also:
        Constant Field Values

    - #### INIT_PROPERTIES_MAP_BIND

          public static final java.lang.String INIT_PROPERTIES_MAP_BIND

      See Also:
        Constant Field Values

    - #### PROPERTY_FILENAME_PROP_KEY

          public static final java.lang.String PROPERTY_FILENAME_PROP_KEY

      See Also:
        Constant Field Values

    - #### PROPERTY_FILENAME_PROP_DEF

          public static final java.lang.String PROPERTY_FILENAME_PROP_DEF

      See Also:
        Constant Field Values

    - #### USER_DOMAIN_POOL_CLASS_PROP_KEY

          @Deprecated
          public static final java.lang.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 java.lang.String USER_DOMAIN_POOL_CLASS_PROP_VAL

      Deprecated.
      moved to RepositoryFactory
      See Also:
        Constant Field Values

    - #### LOGGING_KEY

          public static final java.lang.String LOGGING_KEY

      See Also:
        Constant Field Values

    - #### logManagerConfiguration

          public static java.lang.String logManagerConfiguration

  - ### Constructor Detail

    - #### ConfiguratorAbstract

          public ConfiguratorAbstract()

  - ### Method Detail

    - #### getMXBean

          public static java.lang.Object getMXBean​(java.lang.String objName)

    - #### loadFromPropertiesFiles

          public static void loadFromPropertiesFiles​(java.lang.String property_filenames,
                                                     java.util.Map<java.lang.String,​java.lang.Object> initProperties,
                                                     java.util.List<java.lang.String> initSettings)

    - #### loadFromPropertiesFiles

          public static void loadFromPropertiesFiles​(java.util.Map<java.lang.String,​java.lang.Object> initProperties,
                                                     java.util.List<java.lang.String> initSettings)

    - #### loadLogManagerConfig

          public static void loadLogManagerConfig​(java.lang.String config)

    - #### parseArgs

          public static void parseArgs​(java.util.Map<java.lang.String,​java.lang.Object> initProperties,
                                       java.util.List<java.lang.String> initSettings,
                                       java.lang.String[] args)

    - #### putMXBean

          public static void putMXBean​(java.lang.String objName,
                                       java.lang.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​(java.lang.String[] args)
                    throws ConfigurationException,
                           TigaseDBException

      Throws:
        `ConfigurationException`
        `TigaseDBException`

    - #### initBindings

          public void initBindings​(javax.script.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​(java.lang.String[] args)

    - #### putProperties

          public void putProperties​(java.lang.String compId,
                                    java.util.Map<java.lang.String,​java.lang.Object> props)
                             throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### setup

          public void setup​(Configurable component)
                     throws ConfigurationException

      Throws:
        `ConfigurationException`

    - #### getDefaults

          public java.util.Map<java.lang.String,​java.lang.Object> getDefaults​(java.util.Map<java.lang.String,​java.lang.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 java.util.Map<java.lang.String,​java.lang.Object> getDefConfigParams()

    - #### getMessageRouterClassName

          public java.lang.String getMessageRouterClassName()

    - #### getProperties

          public java.util.Map<java.lang.String,​java.lang.Object> getProperties​(java.lang.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​(java.util.Map<java.lang.String,​java.lang.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