tigase.server.sreceiver
public class StanzaReceiver extends AbstractMessageReceiver implements Configurable, XMPPService, StanzaReceiverIfc
StanzaSender class and offers just an
opposite functionality. It can receive XMPP packets to do something with
them. And what to do it depends on the destination address. Destination
address points to certain receiver task and this is up to task to decide what
to do with the stanza. Task address is just a usual Jabber ID:
task-short-name@srec.tigase.org.
Like public chat rooms in MUC tasks can be preconfigured in
the StanzaReceiver configuration or can be created on demand
using ad-hoc commands and service-discovery. User
can subscribe to some tasks and can add them to the roster just like a normal
contacts. This allows to use the functionality from all existing clients
without implementing any special protocols or extensions.
Possible tasks are:
Task creation parameters:
ad-hoc
commands should present available tasks types which can be created. User can
select a task to create. There may be some restrictions on tasks creation
like certain types can be created only by server administrator or some tasks
types can be created only once on single server and so on.subscribe presence is sent to these users and they
can accept the subscription or not.chat, headline or normal.all, subscribed,
owner, listCreated: Wed May 9 08:27:22 2007
| Modifier and Type | Field and Description |
|---|---|
static String |
MY_DOMAIN_NAME_PROP_KEY
Field description
|
static String |
MY_DOMAIN_NAME_PROP_VAL
Field description
|
HOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxInQueueSize, maxOutQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, SCHEDULER_THREADS_PROP_KEY, SECONDALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManagerADMINS_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_ACKCMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS| Constructor and Description |
|---|
StanzaReceiver()
Constructs ...
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
addOutPacket(Packet packet)
Method description
|
protected void |
addTaskInstance(ReceiverTaskIfc task)
Describe
addTaskInstance method here. |
protected void |
addTaskInstance(String task_type,
String task_name,
Map<String,Object> task_params) |
Map<String,Object> |
getDefaults(Map<String,Object> params)
Method description
|
List<tigase.xml.Element> |
getDiscoFeatures(tigase.xmpp.JID from)
Method description
|
tigase.xml.Element |
getDiscoInfo(String node,
tigase.xmpp.JID jid,
tigase.xmpp.JID from)
Describe
getDiscoInfo method here. |
List<tigase.xml.Element> |
getDiscoItems(String node,
tigase.xmpp.JID jid,
tigase.xmpp.JID from)
Method description
|
void |
getStatistics(StatisticsList list)
Method description
|
ReceiverTaskIfc |
getTask(String jidOrName)
Method description
|
protected Map<String,ReceiverTaskIfc> |
getTaskInstances() |
protected Map<String,TaskType> |
getTaskTypes() |
boolean |
isAdmin(tigase.xmpp.JID jid)
Method description
|
protected boolean |
isAllowedCreate(tigase.xmpp.JID jid,
String task_type) |
void |
processPacket(Packet packet)
Describe
processPacket method here. |
protected void |
removeTaskInstance(ReceiverTaskIfc task) |
protected void |
removeTaskSubscribers(ReceiverTaskIfc task,
tigase.xmpp.JID... subscr) |
protected void |
saveTaskToRepository(ReceiverTaskIfc task) |
void |
setProperties(Map<String,Object> props)
Describe
setProperties method here. |
addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everyMinute, everySecond, getMaxQueueSize, getRegexRoutings, hashCodeForPacket, isInRegexRoutings, newPacketId, processingInThreads, processingOutThreads, processingThreads, processOutPacket, processPacket, release, removeRegexRouting, schedulerThreads, setMaxQueueSize, setName, setParent, start, stopaddComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, initializationCompleted, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItemclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetComponentId, getName, initializationCompleted, isInitializationComplete, processPacket, release, setNamegetDefHostName, getNamegetDefHostNamepublic static final String MY_DOMAIN_NAME_PROP_KEY
public static final String MY_DOMAIN_NAME_PROP_VAL
public boolean addOutPacket(Packet packet)
addOutPacket in interface StanzaReceiverIfcaddOutPacket in class AbstractMessageReceiverpacket - public Map<String,Object> getDefaults(Map<String,Object> params)
getDefaults in interface ConfigurablegetDefaults in class AbstractMessageReceiverparams - public List<tigase.xml.Element> getDiscoFeatures(tigase.xmpp.JID from)
getDiscoFeatures in interface XMPPServicegetDiscoFeatures in class BasicComponentfrom - public tigase.xml.Element getDiscoInfo(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)
getDiscoInfo method here.getDiscoInfo in interface XMPPServicegetDiscoInfo in class BasicComponentnode - a String valuejid - a String valuefrom - Element valuepublic List<tigase.xml.Element> getDiscoItems(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)
getDiscoItems in interface XMPPServicegetDiscoItems in class BasicComponentnode - jid - from - public void getStatistics(StatisticsList list)
getStatistics in interface StatisticsContainergetStatistics in class AbstractMessageReceiverlist - public ReceiverTaskIfc getTask(String jidOrName)
jidOrName - public boolean isAdmin(tigase.xmpp.JID jid)
isAdmin in class BasicComponentjid - public void processPacket(Packet packet)
processPacket method here.processPacket in class AbstractMessageReceiverpacket - a Packet valuepublic void setProperties(Map<String,Object> props)
setProperties method here.setProperties in interface ConfigurablesetProperties in class AbstractMessageReceiverprops - a Map valueprotected void addTaskInstance(String task_type, String task_name, Map<String,Object> task_params) throws tigase.util.TigaseStringprepException
tigase.util.TigaseStringprepExceptionprotected void addTaskInstance(ReceiverTaskIfc task)
addTaskInstance method here.task - a ReceiverTaskIfc valueprotected Map<String,ReceiverTaskIfc> getTaskInstances()
protected boolean isAllowedCreate(tigase.xmpp.JID jid,
String task_type)
protected void removeTaskInstance(ReceiverTaskIfc task)
protected void removeTaskSubscribers(ReceiverTaskIfc task, tigase.xmpp.JID... subscr)
protected void saveTaskToRepository(ReceiverTaskIfc task) throws TigaseDBException
TigaseDBExceptionCopyright © 2013 Tigase. All rights reserved.