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
      • defaultPepNodeConfig

        protected final LeafNodeConfig defaultPepNodeConfig
      • pepNodes

        protected final java.util.Set<java.lang.String> pepNodes
    • 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,
                                   PubSubException
        Throws:
        tigase.component.exceptions.RepositoryException
        PubSubException
      • generateItemsNotifications

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

        public void generateNodeNotifications​(tigase.xmpp.jid.BareJID serviceJID,
                                              java.lang.String nodeName,
                                              tigase.xml.Element payload,
                                              java.lang.String uuid,
                                              boolean persistInMAM)
                                       throws tigase.component.exceptions.RepositoryException
        Throws:
        tigase.component.exceptions.RepositoryException
      • sendNotification

        public void sendNotification​(tigase.xmpp.jid.BareJID serviceJID,
                                     java.lang.String nodeName,
                                     tigase.xml.Element item,
                                     java.lang.String uuid,
                                     java.util.Map<java.lang.String,​java.lang.String> headers,
                                     tigase.xmpp.jid.JID recipient,
                                     tigase.xmpp.StanzaType stanzaType)
      • broadcastNotification

        public void broadcastNotification​(Executor.Priority priority,
                                          tigase.xmpp.jid.BareJID serviceJID,
                                          java.lang.String nodeName,
                                          tigase.xml.Element message)
                                   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
      • 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
      • publishItems

        public java.util.List<java.lang.String> publishItems​(tigase.xmpp.jid.BareJID toJid,
                                                             java.lang.String nodeName,
                                                             tigase.xmpp.jid.JID publisher,
                                                             java.util.List<tigase.xml.Element> itemsToPublish,
                                                             tigase.xml.Element publishOptions)
                                                      throws tigase.component.exceptions.RepositoryException,
                                                             PubSubException
        Throws:
        tigase.component.exceptions.RepositoryException
        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
      • trimItems

        public void trimItems​(tigase.xmpp.jid.BareJID serviceJid,
                              java.lang.String nodeName,
                              java.lang.Integer maxItems,
                              CollectionItemsOrdering collectionItemsOrdering)
                       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