Class PublishItemModule

  • All Implemented Interfaces:
    tigase.component.modules.Module, tigase.kernel.beans.Initializable, tigase.kernel.beans.UnregisterAware, tigase.stats.StatisticHolder

    @Bean(name="publishItemModule",
          parent=PubSubComponent.class,
          active=true)
    public class PublishItemModule
    extends AbstractPubSubModule
    implements tigase.kernel.beans.Initializable, tigase.kernel.beans.UnregisterAware
    Implementation of the PubSub component module responsible for publication of new entries on the pubsub nodes.
    Version:
    5.0.0, 2010.03.27 at 05:21:54 GMT
    Author:
    Artur Hefczyc
    • Field Detail

      • SUPPORTED_PEP_XMLNS

        public static final java.lang.String[] SUPPORTED_PEP_XMLNS
    • Constructor Detail

      • PublishItemModule

        public PublishItemModule()
    • Method Detail

      • main

        public static void main​(java.lang.String[] args)
      • doPublishItems

        public void doPublishItems​(tigase.xmpp.jid.BareJID serviceJID,
                                   java.lang.String nodeName,
                                   LeafNodeConfig leafNodeConfig,
                                   java.lang.String publisher,
                                   java.util.List<tigase.xml.Element> itemsToSend)
                            throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • sendNotifications

        public void sendNotifications​(tigase.xmpp.jid.BareJID serviceJID,
                                      java.lang.String nodeName,
                                      java.util.List<tigase.xml.Element> itemsToSend)
                               throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • getFeatures

        public java.lang.String[] getFeatures()
        Specified by:
        getFeatures in interface tigase.component.modules.Module
      • getModuleCriteria

        public tigase.criteria.Criteria getModuleCriteria()
        Specified by:
        getModuleCriteria in interface tigase.component.modules.Module
      • getParents

        public java.util.List<java.lang.String> getParents​(tigase.xmpp.jid.BareJID serviceJid,
                                                           java.lang.String nodeName)
                                                    throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • initialize

        public void initialize()
        Specified by:
        initialize in interface tigase.kernel.beans.Initializable
      • isPEPNodeName

        public boolean isPEPNodeName​(java.lang.String nodeName)
      • process

        public void process​(tigase.server.Packet packet)
                     throws PubSubException
        Specified by:
        process in interface tigase.component.modules.Module
        Throws:
        PubSubException
      • publishLastItem

        public void publishLastItem​(tigase.xmpp.jid.BareJID serviceJid,
                                    AbstractNodeConfig nodeConfig,
                                    tigase.xmpp.jid.JID destinationJID)
                             throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • sendNotifications

        public void sendNotifications​(tigase.xml.Element itemToSend,
                                      tigase.xmpp.jid.JID jidFrom,
                                      java.lang.String publisherNodeName,
                                      AbstractNodeConfig nodeConfig,
                                      IAffiliations nodeAffiliations,
                                      ISubscriptions nodesSubscriptions)
                               throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • sendNotifications

        public void sendNotifications​(tigase.xml.Element itemToSend,
                                      tigase.xmpp.jid.JID jidFrom,
                                      java.lang.String publisherNodeName,
                                      java.util.Map<java.lang.String,​java.lang.String> headers,
                                      AbstractNodeConfig nodeConfig,
                                      IAffiliations nodeAffiliations,
                                      ISubscriptions nodesSubscriptions,
                                      int depth)
                               throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • sendNotifications

        public void sendNotifications​(tigase.xmpp.jid.JID[] subscribers,
                                      tigase.xml.Element itemToSend,
                                      tigase.xmpp.jid.JID jidFrom,
                                      AbstractNodeConfig nodeConfig,
                                      java.lang.String publisherNodeName,
                                      java.util.Map<java.lang.String,​java.lang.String> headers)
      • trimItems

        public void trimItems​(IItems nodeItems,
                              java.lang.Integer maxItems)
                       throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • beforeUnregister

        public void beforeUnregister()
        Specified by:
        beforeUnregister in interface tigase.kernel.beans.UnregisterAware
      • getValidBuddies

        protected tigase.xmpp.jid.JID[] getValidBuddies​(tigase.xmpp.jid.BareJID id)
                                                 throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • onCapsChange

        @HandleEvent
        protected void onCapsChange​(PresenceCollectorModule.CapsChangeEvent event)
                             throws tigase.util.stringprep.TigaseStringprepException
        Throws:
        tigase.util.stringprep.TigaseStringprepException
      • publishLastItem

        protected void publishLastItem​(tigase.xmpp.jid.BareJID serviceJid,
                                       java.lang.String nodeName,
                                       tigase.xmpp.jid.JID buddyJid)
                                throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • onPresenceChangeEvent

        @HandleEvent
        protected void onPresenceChangeEvent​(PresenceCollectorModule.PresenceChangeEvent event)
                                      throws tigase.util.stringprep.TigaseStringprepException
        Throws:
        tigase.util.stringprep.TigaseStringprepException