public class BasicComponent extends Object implements Configurable, XMPPService, VHostListener, ClusteredComponentIfc
| Modifier and Type | Field and Description |
|---|---|
protected Set<BareJID> |
admins |
static String |
ALL_PROP_KEY
Field description
|
static String |
COMMAND_PROP_NODE
Field description
|
protected Map<String,CommandIfc> |
scriptCommands
Field description
|
static String |
SCRIPTS_DIR_PROP_DEF
Field description
|
static String |
SCRIPTS_DIR_PROP_KEY
Field description
|
protected Set<String> |
trusted |
protected VHostManagerIfc |
vHostManager
Field description
|
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_ACKCMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS| Constructor and Description |
|---|
BasicComponent() |
| Modifier and Type | Method and Description |
|---|---|
void |
addComponentDomain(String domain)
Method description
|
boolean |
canCallCommand(JID jid,
String commandId) |
boolean |
checkCommandAcl(JID jid,
EnumSet<CmdAcl> acl)
Method description
|
void |
everyHour() |
void |
everyMinute() |
void |
everySecond() |
JID |
getComponentId()
Method description
|
ComponentInfo |
getComponentInfo()
Allows to obtain various informations about components
|
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 |
getDefHostName()
Method description
|
BareJID |
getDefVHostItem()
Method description
|
String |
getDiscoCategory()
Method description
|
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
List<Element> |
getDiscoFeatures()
Deprecated.
|
List<Element> |
getDiscoFeatures(JID from)
Returns features for top level disco info
|
Element |
getDiscoInfo(String node,
JID jid)
Deprecated.
|
Element |
getDiscoInfo(String node,
JID jid,
JID from)
Returns service discovery info for the component.
|
List<Element> |
getDiscoItems(String node,
JID jid)
Deprecated.
|
List<Element> |
getDiscoItems(String node,
JID jid,
JID from)
Returns service discovery items for the component.
|
String |
getName()
Method description
|
List<JID> |
getNodesConnected() |
List<JID> |
getNodesConnectedWithLocal() |
protected Map<String,CommandIfc> |
getScriptCommands()
Method description
|
List<Element> |
getScriptItems(String node,
JID jid,
JID from)
Method description
|
protected ServiceEntity |
getServiceEntity()
Method description
|
void |
getStatistics(StatisticsList list) |
VHostItem |
getVHostItem(String domain)
Method description
|
boolean |
handlesLocalDomains()
Method description
|
boolean |
handlesNameSubdomains()
Indicates whether the component can handle packets to 'name' subdomain.
|
boolean |
handlesNonLocalDomains()
Indicates whether the component can handle all packets to
non-local domains.
|
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 |
isAdmin(JID jid)
Method description
|
boolean |
isInitializationComplete()
Method returns information about whether the initialization process
(initializationCompleted()) method has been called.
|
boolean |
isLocalDomain(String domain)
Method description
|
boolean |
isLocalDomainOrComponent(String domain)
Method description
|
protected boolean |
isNonAdminCommands()
Method description
|
boolean |
isSubdomain()
Method returns true is component should be represented as subdomain
|
boolean |
isTrusted(JID jid) |
boolean |
isTrusted(String jid) |
void |
nodeConnected(String node)
Method is called on cluster node connection event.
|
void |
nodeDisconnected(String node)
Method is called on cluster node disconnection event.
|
protected void |
onNodeConnected(JID jid) |
protected void |
onNodeDisconnected(JID jid) |
void |
processPacket(Packet packet,
Queue<Packet> results)
processPacket is a blocking processing method implemented
by all components. |
protected boolean |
processScriptCommand(Packet pc,
Queue<Packet> results)
Method description
|
void |
release()
Method description
|
void |
removeComponentDomain(String domain)
Method description
|
void |
removeServiceDiscoveryItem(String jid,
String node,
String description)
Method description
|
void |
setClusterController(ClusterControllerIfc cl_controller)
Set's the configures the cluster controller object for cluster
communication and API.
|
void |
setName(String name)
Method description
|
void |
setProperties(Map<String,Object> props)
Sets all configuration properties for the object.
|
void |
setVHostManager(VHostManagerIfc manager)
Sets the VHostManager which works on this server installation.
|
void |
updateServiceDiscoveryItem(String jid,
String node,
String description,
boolean admin)
Method description
|
void |
updateServiceDiscoveryItem(String jid,
String node,
String description,
boolean admin,
String... features)
Method description
|
void |
updateServiceDiscoveryItem(String jid,
String node,
String description,
String category,
String type,
boolean admin,
String... features)
Method description
|
void |
updateServiceEntity()
Method description
|
public static final String ALL_PROP_KEY
public static final String COMMAND_PROP_NODE
public static final String SCRIPTS_DIR_PROP_DEF
public static final String SCRIPTS_DIR_PROP_KEY
protected VHostManagerIfc vHostManager
protected Map<String,CommandIfc> scriptCommands
public void addComponentDomain(String domain)
domain - public boolean canCallCommand(JID jid, String commandId)
jid - commandId - booleanpublic boolean checkCommandAcl(JID jid, EnumSet<CmdAcl> acl)
jid - acl - booleanpublic void everyHour()
public void everyMinute()
public void everySecond()
public boolean handlesLocalDomains()
handlesLocalDomains in interface VHostListenerbooleanpublic boolean handlesNameSubdomains()
VHostListenerhandlesNameSubdomains in interface VHostListenerpublic boolean handlesNonLocalDomains()
VHostListenerhandlesNonLocalDomains in interface VHostListenerpublic void initBindings(Bindings binds)
binds - A mapping of key/value pairs, all of whose keys are Strings.public void initializationCompleted()
ServerComponentMessageRouter 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.initializationCompleted in interface ServerComponentpublic void nodeConnected(String node)
ClusteredComponentIfcnodeConnected in interface ClusteredComponentIfcnode - is a hostname of a cluster node generating the event.public void nodeDisconnected(String node)
ClusteredComponentIfcnodeDisconnected in interface ClusteredComponentIfcnode - is a hostname of a cluster node generating the event.public void processPacket(Packet packet, Queue<Packet> results)
ServerComponentprocessPacket is a blocking processing method implemented
by all components. This method processes packet and returns results
instantly without waiting for any resources.processPacket in interface ServerComponentpacket - a Packet valuepublic void release()
ServerComponentrelease in interface ServerComponentpublic void removeComponentDomain(String domain)
domain - public void removeServiceDiscoveryItem(String jid, String node, String description)
jid - node - description - public void setClusterController(ClusterControllerIfc cl_controller)
ClusteredComponentIfcsetClusterController in interface ClusteredComponentIfccl_controller - cluster controller object used for cluster
communicationpublic void updateServiceDiscoveryItem(String jid, String node, String description, boolean admin)
jid - node - description - admin - public void updateServiceDiscoveryItem(String jid, String node, String description, boolean admin, String... features)
jid - node - description - admin - features - public void updateServiceDiscoveryItem(String jid, String node, String description, String category, String type, boolean admin, String... features)
jid - node - description - category - type - admin - features - public void updateServiceEntity()
public JID getComponentId()
ServerComponentgetComponentId in interface ServerComponentpublic ComponentInfo getComponentInfo()
ServerComponentgetComponentInfo in interface ServerComponentpublic Map<String,Object> getDefaults(Map<String,Object> params)
ConfigurableMap 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 Configurableparams - 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 getDefHostName()
BareJIDpublic BareJID getDefVHostItem()
BareJIDpublic String getDiscoCategory()
Stringpublic String getDiscoCategoryType()
Stringpublic String getDiscoDescription()
String@Deprecated public List<Element> getDiscoFeatures()
List<Element>public List<Element> getDiscoFeatures(JID from)
XMPPServicegetDiscoFeatures in interface XMPPServicefrom - a request sender address. Some service disco elements are meant
to be available only to system administrarors. The component is responsible to
check whether the sender is the component administrator and return results
appropriate.@Deprecated public Element getDiscoInfo(String node, JID jid)
node - jid - Elementpublic Element getDiscoInfo(String node, JID jid, JID from)
XMPPServicegetDiscoInfo in interface XMPPServicenode - is service discovery node for which the request is made. Is
normally null for the component top level request.jid - is the jid to which the request has been made.from - is the request sender address. Some service discovery information
is only meant for administrators.@Deprecated public List<Element> getDiscoItems(String node, JID jid)
node - jid - List<Element>public List<Element> getDiscoItems(String node, JID jid, JID from)
XMPPServicegetDiscoItems in interface XMPPServicenode - is a service discovery node for which the request has been made.jid - is the jid to which the request has been made.from - is the request sender address. Some service discovery information
is only meant for administrators.public String getName()
ServerComponentgetName in interface ServerComponentpublic void getStatistics(StatisticsList list)
public List<Element> getScriptItems(String node, JID jid, JID from)
node - jid - from - List<Element>public VHostItem getVHostItem(String domain)
domain - VHostItempublic boolean isAdmin(JID jid)
jid - booleanpublic boolean isInitializationComplete()
ServerComponentisInitializationComplete in interface ServerComponenttrue if initialization of the object has been completed
false otherwisepublic boolean isLocalDomain(String domain)
domain - booleanpublic boolean isLocalDomainOrComponent(String domain)
domain - booleanpublic boolean isSubdomain()
booleanpublic boolean isTrusted(JID jid)
public boolean isTrusted(String jid)
public void setName(String name)
ServerComponentsetName in interface ServerComponentpublic void setProperties(Map<String,Object> props) throws ConfigurationException
ConfigurablesetProperties in interface Configurableprops - Map with the configurationConfigurationException - - if setting configuration will
fail which will make it unable
to workpublic void setVHostManager(VHostManagerIfc manager)
VHostListenersetVHostManager in interface VHostListenermanager - is a reference to VHostManager available on the server
installation.protected void onNodeConnected(JID jid)
protected void onNodeDisconnected(JID jid)
protected boolean processScriptCommand(Packet pc, Queue<Packet> results)
pc - results - booleanprotected Map<String,CommandIfc> getScriptCommands()
Map<String,CommandIfc>protected ServiceEntity getServiceEntity()
ServiceEntityprotected boolean isNonAdminCommands()
booleanCopyright © 2018 "Tigase, Inc.". All rights reserved.