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 RepositoryFactorystatic java.lang.String
AUTH_DOMAIN_POOL_CLASS_PROP_VAL
Deprecated.moved to RepositoryFactorystatic 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 RepositoryFactorystatic 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 internalcomponents
collection.void
componentRemoved(Configurable component)
Method provides a callback mechanism signaling that a component implementing special interface has been removed from the internalcomponents
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 aMap
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 servervoid
initializationCompleted()
Method is called byMessageRouter
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
-
-
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 internalcomponents
collection.- Specified by:
componentAdded
in classAbstractComponentRegistrator<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 internalcomponents
collection.- Specified by:
componentRemoved
in classAbstractComponentRegistrator<Configurable>
- Parameters:
component
- is a reference to the component removed from the collection.
-
init
public void init(java.lang.String[] args) 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 classBasicComponent
- 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 byMessageRouter
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 interfaceServerComponent
- Overrides:
initializationCompleted
in classBasicComponent
-
itemAdded
public void itemAdded(ConfigItem item)
- Specified by:
itemAdded
in interfaceRepositoryChangeListenerIfc<ConfigItem>
-
itemRemoved
public void itemRemoved(ConfigItem item)
- Specified by:
itemRemoved
in interfaceRepositoryChangeListenerIfc<ConfigItem>
-
itemUpdated
public void itemUpdated(ConfigItem item)
- Specified by:
itemUpdated
in interfaceRepositoryChangeListenerIfc<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 aMap
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 thesetProperties(...)
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 interfaceConfigurable
- Overrides:
getDefaults
in classBasicComponent
- Parameters:
params
- is aMap
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 interfaceStatisticsContainerIfc
- Overrides:
getStatistics
in classBasicComponent
-
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 internalcomponents
collection.- Specified by:
isCorrectType
in classAbstractComponentRegistrator<Configurable>
- Parameters:
component
- is a reference to the component being checked.- Returns:
- a
boolean
value oftrue
if the component is of a correct type andfalse
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 interfaceConfigurable
- Overrides:
setProperties
in classBasicComponent
- Parameters:
props
-Map
with the configuration- Throws:
ConfigurationException
- - if setting configuration will fail which will make it unable to work
-
-