Package tigase.muc

Class MUCComponent

  • All Implemented Interfaces:
    tigase.cluster.api.ClusteredComponentIfc, tigase.conf.Configurable, tigase.disco.XMPPService, tigase.server.DisableDisco, tigase.server.MessageReceiver, tigase.server.ServerComponent, tigase.stats.StatisticsContainer, tigase.stats.StatisticsContainerIfc, tigase.vhosts.VHostListener

    public class MUCComponent
    extends tigase.component.AbstractComponent<MucContext>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean addMessageIdIfMissing  
      protected String chatLoggingDirectory  
      protected Boolean chatStateAllowed  
      static String DEFAULT_ROOM_CONFIG_KEY  
      static String DEFAULT_ROOM_CONFIG_PREFIX_KEY  
      protected Ghostbuster2 ghostbuster  
      protected HistoryProvider historyProvider  
      static String LOG_DIR_KEY  
      static String MESSAGE_FILTER_ENABLED_KEY  
      protected boolean messageFilterEnabled  
      static String MUC_ALLOW_CHAT_STATES_KEY  
      static String MUC_LOCK_NEW_ROOM_KEY  
      static String MUC_MULTI_ITEM_ALLOWED_KEY  
      protected static String MUC_REPO_CLASS_PROP_KEY  
      protected static String MUC_REPO_URL_PROP_KEY  
      protected MucLogger mucLogger  
      protected IMucRepository mucRepository  
      protected boolean multiItemMode  
      protected Boolean newRoomLocked  
      static String PING_EVERY_MINUTE_KEY
      Deprecated.
      static String PRESENCE_FILTER_ENABLED_KEY  
      protected boolean presenceFilterEnabled  
      static String SEARCH_GHOSTS_EVERY_MINUTE_KEY  
      protected boolean searchGhostsEveryMinute  
      • Fields inherited from class tigase.component.AbstractComponent

        COMPONENT, context, defaultScriptCommandProcessor, log, modulesManager, writer
      • Fields inherited from class tigase.server.AbstractMessageReceiver

        HOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxInQueueSize, maxOutQueueSize, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, PACKET_DELIVERY_RETRY_COUNT_PROP_KEY, SCHEDULER_THREADS_PROP_KEY, SECOND
      • Fields inherited from class tigase.server.BasicComponent

        admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, 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_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
      • Fields inherited from interface tigase.disco.XMPPService

        CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
    • Constructor Summary

      Constructors 
      Constructor Description
      MUCComponent()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static void addIfExists​(Bindings binds, String name, Object value)  
      protected MucContext createContext()  
      protected IMucRepository createMucRepository​(MucContext componentConfig, MucDAO dao)  
      void everyHour()  
      void everyMinute()  
      String getComponentVersion()  
      protected Map<String,​Class<? extends tigase.component.modules.Module>> getDefaultModulesList()  
      Map<String,​Object> getDefaults​(Map<String,​Object> params)  
      String getDiscoCategory()  
      String getDiscoCategoryType()  
      String getDiscoDescription()  
      IMucRepository getMucRepository()  
      int hashCodeForPacket​(tigase.server.Packet packet)  
      void initBindings​(Bindings binds)  
      boolean isDiscoNonAdmin()  
      boolean isSubdomain()  
      int processingInThreads()  
      int processingOutThreads()  
      void processPacket​(tigase.server.Packet packet)
      void release()  
      protected void sendException​(tigase.server.Packet packet, tigase.component.exceptions.ComponentException e)  
      void setProperties​(Map<String,​Object> props)  
      • Methods inherited from class tigase.component.AbstractComponent

        addOutPacket, createModuleInstance, getContext, getModuleProvider, getResponseManager, getWriter, initModules, isRegistered, registerModule, updateServiceEntity
      • Methods inherited from class tigase.server.AbstractMessageReceiver

        addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everySecond, getMaxQueueSize, getRegexRoutings, getStatistics, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, setMaxQueueSize, setName, setParent, start, stop
      • Methods inherited from class tigase.server.BasicComponent

        addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setClusterController, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem
      • Methods inherited from interface tigase.server.MessageReceiver

        getDefHostName
      • Methods inherited from interface tigase.server.ServerComponent

        getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, setName
      • Methods inherited from interface tigase.stats.StatisticsContainerIfc

        getName
      • Methods inherited from interface tigase.disco.XMPPService

        getDiscoFeatures, getDiscoInfo, getDiscoItems
    • Constructor Detail

      • MUCComponent

        public MUCComponent()
    • Method Detail

      • createContext

        protected MucContext createContext()
        Specified by:
        createContext in class tigase.component.AbstractComponent<MucContext>
      • createMucRepository

        protected IMucRepository createMucRepository​(MucContext componentConfig,
                                                     MucDAO dao)
                                              throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • everyHour

        public void everyHour()
        Overrides:
        everyHour in class tigase.server.AbstractMessageReceiver
      • everyMinute

        public void everyMinute()
        Overrides:
        everyMinute in class tigase.component.AbstractComponent<MucContext>
      • getComponentVersion

        public String getComponentVersion()
        Specified by:
        getComponentVersion in class tigase.component.AbstractComponent<MucContext>
      • getDefaultModulesList

        protected Map<String,​Class<? extends tigase.component.modules.Module>> getDefaultModulesList()
        Specified by:
        getDefaultModulesList in class tigase.component.AbstractComponent<MucContext>
      • getDefaults

        public Map<String,​Object> getDefaults​(Map<String,​Object> params)
        Specified by:
        getDefaults in interface tigase.conf.Configurable
        Overrides:
        getDefaults in class tigase.component.AbstractComponent<MucContext>
      • getDiscoCategory

        public String getDiscoCategory()
        Overrides:
        getDiscoCategory in class tigase.server.BasicComponent
      • getDiscoCategoryType

        public String getDiscoCategoryType()
        Overrides:
        getDiscoCategoryType in class tigase.server.BasicComponent
      • getDiscoDescription

        public String getDiscoDescription()
        Overrides:
        getDiscoDescription in class tigase.server.BasicComponent
      • hashCodeForPacket

        public int hashCodeForPacket​(tigase.server.Packet packet)
        Overrides:
        hashCodeForPacket in class tigase.server.AbstractMessageReceiver
      • initBindings

        public void initBindings​(Bindings binds)
        Overrides:
        initBindings in class tigase.component.AbstractComponent<MucContext>
      • isDiscoNonAdmin

        public boolean isDiscoNonAdmin()
        Specified by:
        isDiscoNonAdmin in class tigase.component.AbstractComponent<MucContext>
      • isSubdomain

        public boolean isSubdomain()
        Overrides:
        isSubdomain in class tigase.server.BasicComponent
      • processPacket

        public void processPacket​(tigase.server.Packet packet)
        Overrides:
        processPacket in class tigase.component.AbstractComponent<MucContext>
      • processingInThreads

        public int processingInThreads()
        Overrides:
        processingInThreads in class tigase.server.AbstractMessageReceiver
      • processingOutThreads

        public int processingOutThreads()
        Overrides:
        processingOutThreads in class tigase.server.AbstractMessageReceiver
      • release

        public void release()
        Specified by:
        release in interface tigase.server.ServerComponent
        Overrides:
        release in class tigase.server.AbstractMessageReceiver
      • sendException

        protected void sendException​(tigase.server.Packet packet,
                                     tigase.component.exceptions.ComponentException e)
        Overrides:
        sendException in class tigase.component.AbstractComponent<MucContext>
      • setProperties

        public void setProperties​(Map<String,​Object> props)
                           throws tigase.conf.ConfigurationException
        Specified by:
        setProperties in interface tigase.conf.Configurable
        Overrides:
        setProperties in class tigase.component.AbstractComponent<MucContext>
        Throws:
        tigase.conf.ConfigurationException