tigase.server
Class BasicComponent

java.lang.Object
  extended by tigase.server.BasicComponent
All Implemented Interfaces:
Configurable, XMPPService, ServerComponent, VHostListener
Direct Known Subclasses:
AbstractComponentRegistrator, AbstractMessageReceiver

public class BasicComponent
extends Object
implements Configurable, XMPPService, VHostListener

Created: Oct 17, 2009 7:49:05 PM

Version:
$Rev$
Author:
Artur Hefczyc

Field Summary
protected  Set<tigase.xmpp.BareJID> admins
          List of the component administrators
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  VHostManagerIfc vHostManager
          Field description
 
Fields inherited from interface tigase.conf.Configurable
ADMINS_PROP_KEY, AMP_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_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, 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, 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
BasicComponent()
           
 
Method Summary
 void addComponentDomain(String domain)
          Method description
 boolean canCallCommand(tigase.xmpp.JID jid, String commandId)
           
 boolean checkCommandAcl(tigase.xmpp.JID jid, EnumSet<CmdAcl> acl)
          Method description
 tigase.xmpp.JID getComponentId()
          Method description
 Map<String,Object> getDefaults(Map<String,Object> params)
          Method description
 tigase.xmpp.BareJID getDefHostName()
          Method description
 tigase.xmpp.BareJID getDefVHostItem()
          Method description
 String getDiscoCategory()
          Method description
 String getDiscoCategoryType()
          Method description
 String getDiscoDescription()
          Method description
 List<tigase.xml.Element> getDiscoFeatures()
          Deprecated. 
 List<tigase.xml.Element> getDiscoFeatures(tigase.xmpp.JID from)
          Method description
 tigase.xml.Element getDiscoInfo(String node, tigase.xmpp.JID jid)
          Deprecated. 
 tigase.xml.Element getDiscoInfo(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)
          Method description
 List<tigase.xml.Element> getDiscoItems(String node, tigase.xmpp.JID jid)
          Deprecated.  
 List<tigase.xml.Element> getDiscoItems(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)
          Method description
 String getName()
          Method description
protected  Map<String,CommandIfc> getScriptCommands()
          Method description
 List<tigase.xml.Element> getScriptItems(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)
          Method description
protected  ServiceEntity getServiceEntity()
          Method description
 VHostItem getVHostItem(String domain)
          Method description
 boolean handlesLocalDomains()
          Method description
 boolean handlesNameSubdomains()
          Method description
 boolean handlesNonLocalDomains()
          Method description
 void initBindings(Bindings binds)
          Method description
 void initializationCompleted()
          Method description
 boolean isAdmin(tigase.xmpp.JID jid)
          Method description
 boolean isInitializationComplete()
          Method description
 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
 void processPacket(Packet packet, Queue<Packet> results)
          Method description
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 setName(String name)
          Method description
 void setProperties(Map<String,Object> props)
          Method description
 void setVHostManager(VHostManagerIfc manager)
          Method description
 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALL_PROP_KEY

public static final String ALL_PROP_KEY
Field description

See Also:
Constant Field Values

COMMAND_PROP_NODE

public static final String COMMAND_PROP_NODE
Field description

See Also:
Constant Field Values

SCRIPTS_DIR_PROP_DEF

public static final String SCRIPTS_DIR_PROP_DEF
Field description

See Also:
Constant Field Values

SCRIPTS_DIR_PROP_KEY

public static final String SCRIPTS_DIR_PROP_KEY
Field description

See Also:
Constant Field Values

vHostManager

protected VHostManagerIfc vHostManager
Field description


scriptCommands

protected Map<String,CommandIfc> scriptCommands
Field description


admins

protected Set<tigase.xmpp.BareJID> admins
List of the component administrators

Constructor Detail

BasicComponent

public BasicComponent()
Method Detail

addComponentDomain

public void addComponentDomain(String domain)
Method description

Parameters:
domain -

canCallCommand

public boolean canCallCommand(tigase.xmpp.JID jid,
                              String commandId)
Parameters:
jid -
commandId -
Returns:

checkCommandAcl

public boolean checkCommandAcl(tigase.xmpp.JID jid,
                               EnumSet<CmdAcl> acl)
Method description

Parameters:
jid -
acl -
Returns:

handlesLocalDomains

public boolean handlesLocalDomains()
Method description

Specified by:
handlesLocalDomains in interface VHostListener
Returns:

handlesNameSubdomains

public boolean handlesNameSubdomains()
Method description

Specified by:
handlesNameSubdomains in interface VHostListener
Returns:

handlesNonLocalDomains

public boolean handlesNonLocalDomains()
Method description

Specified by:
handlesNonLocalDomains in interface VHostListener
Returns:

initBindings

public void initBindings(Bindings binds)
Method description

Parameters:
binds -

initializationCompleted

public void initializationCompleted()
Method description

Specified by:
initializationCompleted in interface ServerComponent

processPacket

public void processPacket(Packet packet,
                          Queue<Packet> results)
Method description

Specified by:
processPacket in interface ServerComponent
Parameters:
packet -
results -

release

public void release()
Method description

Specified by:
release in interface ServerComponent

removeComponentDomain

public void removeComponentDomain(String domain)
Method description

Parameters:
domain -

removeServiceDiscoveryItem

public void removeServiceDiscoveryItem(String jid,
                                       String node,
                                       String description)
Method description

Parameters:
jid -
node -
description -

updateServiceDiscoveryItem

public void updateServiceDiscoveryItem(String jid,
                                       String node,
                                       String description,
                                       boolean admin)
Method description

Parameters:
jid -
node -
description -
admin -

updateServiceDiscoveryItem

public void updateServiceDiscoveryItem(String jid,
                                       String node,
                                       String description,
                                       boolean admin,
                                       String... features)
Method description

Parameters:
jid -
node -
description -
admin -
features -

updateServiceDiscoveryItem

public void updateServiceDiscoveryItem(String jid,
                                       String node,
                                       String description,
                                       String category,
                                       String type,
                                       boolean admin,
                                       String... features)
Method description

Parameters:
jid -
node -
description -
category -
type -
admin -
features -

getComponentId

public tigase.xmpp.JID getComponentId()
Method description

Specified by:
getComponentId in interface ServerComponent
Returns:

getDefaults

public Map<String,Object> getDefaults(Map<String,Object> params)
Method description

Specified by:
getDefaults in interface Configurable
Parameters:
params -
Returns:

getDefHostName

public tigase.xmpp.BareJID getDefHostName()
Method description

Returns:

getDefVHostItem

public tigase.xmpp.BareJID getDefVHostItem()
Method description

Returns:

getDiscoCategory

public String getDiscoCategory()
Method description

Returns:

getDiscoCategoryType

public String getDiscoCategoryType()
Method description

Returns:

getDiscoDescription

public String getDiscoDescription()
Method description

Returns:

getDiscoFeatures

@Deprecated
public List<tigase.xml.Element> getDiscoFeatures()
Deprecated. 

Exists for backward compatibility with the old API.

Returns:

getDiscoFeatures

public List<tigase.xml.Element> getDiscoFeatures(tigase.xmpp.JID from)
Method description

Specified by:
getDiscoFeatures in interface XMPPService
Parameters:
from -
Returns:

getDiscoInfo

@Deprecated
public tigase.xml.Element getDiscoInfo(String node,
                                                  tigase.xmpp.JID jid)
Deprecated. 

Exists for backward compatibility with the old API.

Parameters:
node -
jid -
Returns:

getDiscoInfo

public tigase.xml.Element getDiscoInfo(String node,
                                       tigase.xmpp.JID jid,
                                       tigase.xmpp.JID from)
Method description

Specified by:
getDiscoInfo in interface XMPPService
Parameters:
node -
jid -
from -
Returns:

getDiscoItems

@Deprecated
public List<tigase.xml.Element> getDiscoItems(String node,
                                                         tigase.xmpp.JID jid)
Deprecated. 

Exists for backward compatibility with the old API.

Parameters:
node -
jid -
Returns:

getDiscoItems

public List<tigase.xml.Element> getDiscoItems(String node,
                                              tigase.xmpp.JID jid,
                                              tigase.xmpp.JID from)
Method description

Specified by:
getDiscoItems in interface XMPPService
Parameters:
node -
jid -
from -
Returns:

getName

public String getName()
Method description

Specified by:
getName in interface ServerComponent
Returns:

getScriptItems

public List<tigase.xml.Element> getScriptItems(String node,
                                               tigase.xmpp.JID jid,
                                               tigase.xmpp.JID from)
Method description

Parameters:
node -
jid -
from -
Returns:

getVHostItem

public VHostItem getVHostItem(String domain)
Method description

Parameters:
domain -
Returns:

isAdmin

public boolean isAdmin(tigase.xmpp.JID jid)
Method description

Parameters:
jid -
Returns:

isInitializationComplete

public boolean isInitializationComplete()
Method description

Specified by:
isInitializationComplete in interface ServerComponent
Returns:

isLocalDomain

public boolean isLocalDomain(String domain)
Method description

Parameters:
domain -
Returns:

isLocalDomainOrComponent

public boolean isLocalDomainOrComponent(String domain)
Method description

Parameters:
domain -
Returns:

isSubdomain

public boolean isSubdomain()
Method returns true is component should be represented as subdomain

Returns:

setName

public void setName(String name)
Method description

Specified by:
setName in interface ServerComponent
Parameters:
name -

setProperties

public void setProperties(Map<String,Object> props)
Method description

Specified by:
setProperties in interface Configurable
Parameters:
props -

setVHostManager

public void setVHostManager(VHostManagerIfc manager)
Method description

Specified by:
setVHostManager in interface VHostListener
Parameters:
manager -

processScriptCommand

protected boolean processScriptCommand(Packet pc,
                                       Queue<Packet> results)
Method description

Parameters:
pc -
results -
Returns:

getScriptCommands

protected Map<String,CommandIfc> getScriptCommands()
Method description

Returns:

getServiceEntity

protected ServiceEntity getServiceEntity()
Method description

Returns:

isNonAdminCommands

protected boolean isNonAdminCommands()
Method description

Returns:


Copyright © 2013 Tigase. All rights reserved.