public class VHostManager extends AbstractComponentRegistrator<VHostListener> implements VHostManagerIfc, StatisticsContainer
Modifier and Type | Field and Description |
---|---|
protected ComponentRepository<VHostItem> |
repo |
static String |
VHOSTS_REPO_CLASS_PROP_KEY
Field description
|
static String |
VHOSTS_REPO_CLASS_PROP_VAL
Field description
|
static String |
VHOSTS_REPO_CLASS_PROPERTY
Field description
|
components
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager
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_SRECV_NAME, DEF_SSEND_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, SRECV_COMP_CLASS_NAME, SSEND_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
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
Constructor and Description |
---|
VHostManager()
Creates a new
VHostManager instance. |
Modifier and Type | Method and Description |
---|---|
void |
addComponentDomain(String domain)
Method description
|
void |
componentAdded(VHostListener component)
Method provides a callback mechanism signaling that a new component implementing
special interface has been added to the internal
components collection. |
void |
componentRemoved(VHostListener component)
Method provides a callback mechanism signaling that a component implementing
special interface has been removed from the internal
components
collection. |
String |
generateSecret() |
List<JID> |
getAllVHosts()
Method description
|
ComponentRepository<VHostItem> |
getComponentRepository() |
ServerComponent[] |
getComponentsForLocalDomain(String domain)
The method returns an array with server components which can process
packets for a given local domain.
|
ServerComponent[] |
getComponentsForNonLocalDomain(String domain)
The method returns an array of server components which can process packets
sent to non-local domain.
|
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. |
BareJID |
getDefVHostItem()
Method description
|
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
void |
getStatistics(StatisticsList list) |
VHostItem |
getVHostItem(String domain)
Method description
|
VHostItem |
getVHostItemDomainOrComponent(String domain)
Returns an object with all domain properties for a given domain or base domain
if passed domain is name of subdomain used by component.
|
void |
initBindings(Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts
loaded by the server
|
void |
initializeRepository() |
boolean |
isAnonymousEnabled(String domain)
This method checks whether anonymous login is enabled for a given domain.
|
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.
|
boolean |
isLocalDomain(String domain)
Method description
|
boolean |
isLocalDomainOrComponent(String domain)
Method description
|
void |
removeComponentDomain(String domain)
Method description
|
void |
setName(String name)
Method description
|
void |
setProperties(Map<String,Object> properties)
Sets all configuration properties for the object.
|
addComponent, deleteComponent, getComponent, newPacketId, release
canCallCommand, checkCommandAcl, everyHour, everyMinute, everySecond, getComponentId, getComponentInfo, getDefHostName, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, isAdmin, isInitializationComplete, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processPacket, processScriptCommand, removeServiceDiscoveryItem, setClusterController, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, release
public static final String VHOSTS_REPO_CLASS_PROP_KEY
public static final String VHOSTS_REPO_CLASS_PROP_VAL
public static final String VHOSTS_REPO_CLASS_PROPERTY
protected ComponentRepository<VHostItem> repo
public void addComponentDomain(String domain)
BasicComponent
addComponentDomain
in interface VHostManagerIfc
addComponentDomain
in class BasicComponent
domain
- is a component domain name added to the collection.public void componentAdded(VHostListener component)
AbstractComponentRegistrator
components
collection.componentAdded
in class AbstractComponentRegistrator<VHostListener>
component
- is a reference to the component just added to the collection.public void componentRemoved(VHostListener component)
AbstractComponentRegistrator
components
collection.componentRemoved
in class AbstractComponentRegistrator<VHostListener>
component
- is a reference to the component removed from the collection.public void initBindings(Bindings binds)
BasicComponent
initBindings
in class BasicComponent
binds
- A mapping of key/value pairs, all of whose keys are Strings.public void removeComponentDomain(String domain)
BasicComponent
removeComponentDomain
in interface VHostManagerIfc
removeComponentDomain
in class BasicComponent
domain
- is a component domain name being removed from the collection.public List<JID> getAllVHosts()
VHostManagerIfc
getAllVHosts
in interface VHostManagerIfc
public ServerComponent[] getComponentsForLocalDomain(String domain)
VHostManagerIfc
null
is returned. The given domain may also consist of:
component name ServerComponent.getName()
plus any local
domain but only if the component returns true
from method
call: VHostListener.handlesNameSubdomains()
getComponentsForLocalDomain
in interface VHostManagerIfc
domain
- is a String
with a domain name to check. It may
by just a local domain or string created with component name and localdomain.null
if no component found for a given domain.public ServerComponent[] getComponentsForNonLocalDomain(String domain)
VHostManagerIfc
getComponentsForNonLocalDomain
in interface VHostManagerIfc
domain
- is a String
with a domain to check. At the moment
this parameter is ignored. In the future it will be possible to assign a
specific component for any non-local domain.public Map<String,Object> getDefaults(Map<String,Object> params)
Configurable
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
.getDefaults
in interface Configurable
getDefaults
in class BasicComponent
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.Map
with the component default configuration.public BareJID getDefVHostItem()
BasicComponent
getDefVHostItem
in interface VHostManagerIfc
getDefVHostItem
in class BasicComponent
BareJID
public String getDiscoCategoryType()
BasicComponent
getDiscoCategoryType
in class BasicComponent
String
public String getDiscoDescription()
BasicComponent
getDiscoDescription
in class BasicComponent
String
public void getStatistics(StatisticsList list)
getStatistics
in interface StatisticsContainerIfc
getStatistics
in class BasicComponent
public VHostItem getVHostItem(String domain)
BasicComponent
getVHostItem
in interface VHostManagerIfc
getVHostItem
in class BasicComponent
domain
- is a domain nameVHostItem
public VHostItem getVHostItemDomainOrComponent(String domain)
VHostManagerIfc
getVHostItemDomainOrComponent
in interface VHostManagerIfc
domain
- is a domain namepublic boolean isAnonymousEnabled(String domain)
VHostManagerIfc
isAnonymousEnabled
in interface VHostManagerIfc
domain
- is a String with domain name to check.public boolean isCorrectType(ServerComponent component)
AbstractComponentRegistrator
components
collection.isCorrectType
in class AbstractComponentRegistrator<VHostListener>
component
- is a reference to the component being checked.boolean
value of true
if the component is of a
correct type and false
otherwise.public boolean isLocalDomain(String domain)
BasicComponent
isLocalDomain
in interface VHostManagerIfc
isLocalDomain
in class BasicComponent
domain
- is a String with domain name to check.boolean
public boolean isLocalDomainOrComponent(String domain)
BasicComponent
isLocalDomainOrComponent
in interface VHostManagerIfc
isLocalDomainOrComponent
in class BasicComponent
boolean
public void setName(String name)
ServerComponent
setName
in interface ServerComponent
setName
in class BasicComponent
public void setProperties(Map<String,Object> properties) throws ConfigurationException
Configurable
setProperties
in interface Configurable
setProperties
in class BasicComponent
properties
- Map
with the configurationConfigurationException
- - if setting configuration will
fail which will make it unable
to workpublic void initializeRepository() throws TigaseDBException
TigaseDBException
public String generateSecret()
public ComponentRepository<VHostItem> getComponentRepository()
Copyright © 2017 "Tigase, Inc.". All rights reserved.