Package tigase.pubsub.modules
Class PublishItemModule
- java.lang.Object
-
- tigase.stats.CounterValue
-
- tigase.stats.Counter
-
- tigase.stats.StatisticHolderImpl
-
- tigase.pubsub.AbstractPubSubModule
-
- tigase.pubsub.modules.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.UnregisterAwareImplementation 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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPublishItemModule.ItemPublishedEvent
-
Field Summary
Fields Modifier and Type Field Description static StringAMP_XMLNSprotected LeafNodeConfigdefaultPepNodeConfigprotected Set<String>pepNodesstatic String[]SUPPORTED_PEP_XMLNS-
Fields inherited from class tigase.pubsub.AbstractPubSubModule
config, log, logic, packetWriter
-
-
Constructor Summary
Constructors Constructor Description PublishItemModule()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbeforePrepareNotification(AbstractNodeConfig nodeConfig, ISubscriptions nodesSubscriptions)voidbeforeUnregister()voiddoPublishItems(tigase.xmpp.jid.BareJID serviceJID, String nodeName, LeafNodeConfig leafNodeConfig, String publisher, List<tigase.xml.Element> itemsToSend)AbstractNodeConfigensurePepNode(tigase.xmpp.jid.BareJID toJid, String nodeName, tigase.xmpp.jid.BareJID ownerJid, tigase.xml.Element publishOptions)String[]getFeatures()tigase.criteria.CriteriagetModuleCriteria()List<String>getParents(tigase.xmpp.jid.BareJID serviceJid, String nodeName)protected tigase.xmpp.jid.JID[]getValidBuddies(tigase.xmpp.jid.BareJID id)voidinitialize()booleanisPEPNodeName(String nodeName)static voidmain(String[] args)protected voidonCapsChange(PresenceCollectorModule.CapsChangeEvent event)protected voidonPresenceChangeEvent(PresenceCollectorModule.PresenceChangeEvent event)voidprocess(tigase.server.Packet packet)protected voidpublishLastItem(tigase.xmpp.jid.BareJID serviceJid, String nodeName, tigase.xmpp.jid.JID buddyJid)voidpublishLastItem(tigase.xmpp.jid.BareJID serviceJid, AbstractNodeConfig nodeConfig, tigase.xmpp.jid.JID destinationJID)voidsendNotifications(tigase.xml.Element itemToSend, tigase.xmpp.jid.JID jidFrom, String publisherNodeName, Map<String,String> headers, AbstractNodeConfig nodeConfig, IAffiliations nodeAffiliations, ISubscriptions nodesSubscriptions, int depth)voidsendNotifications(tigase.xml.Element itemToSend, tigase.xmpp.jid.JID jidFrom, String publisherNodeName, AbstractNodeConfig nodeConfig, IAffiliations nodeAffiliations, ISubscriptions nodesSubscriptions)voidsendNotifications(tigase.xmpp.jid.BareJID serviceJID, String nodeName, List<tigase.xml.Element> itemsToSend)voidsendNotifications(tigase.xmpp.jid.JID[] subscribers, tigase.xml.Element itemToSend, tigase.xmpp.jid.JID jidFrom, AbstractNodeConfig nodeConfig, String publisherNodeName, Map<String,String> headers)voidtrimItems(IItems nodeItems, Integer maxItems, CollectionItemsOrdering collectionItemsOrdering)-
Methods inherited from class tigase.pubsub.AbstractPubSubModule
createResultIQ, createResultIQArray, getActiveSubscribers, getActiveSubscribers, getRepository, makeArray, makeArray
-
Methods inherited from class tigase.stats.StatisticHolderImpl
getStatistics, setStatisticsPrefix, statisticExecutedIn
-
Methods inherited from class tigase.stats.Counter
everyHour, everyMinute, everySecond, getPerHour, getPerMinute, getPerSecond
-
Methods inherited from class tigase.stats.CounterValue
getLevel, getName, getValue, inc, setName, toString
-
-
-
-
Field Detail
-
AMP_XMLNS
public static final String AMP_XMLNS
- See Also:
- Constant Field Values
-
SUPPORTED_PEP_XMLNS
public static final String[] SUPPORTED_PEP_XMLNS
-
defaultPepNodeConfig
protected final LeafNodeConfig defaultPepNodeConfig
-
-
Method Detail
-
main
public static void main(String[] args)
-
doPublishItems
public void doPublishItems(tigase.xmpp.jid.BareJID serviceJID, String nodeName, LeafNodeConfig leafNodeConfig, String publisher, List<tigase.xml.Element> itemsToSend) throws tigase.component.exceptions.RepositoryException- Throws:
tigase.component.exceptions.RepositoryException
-
sendNotifications
public void sendNotifications(tigase.xmpp.jid.BareJID serviceJID, String nodeName, List<tigase.xml.Element> itemsToSend) throws tigase.component.exceptions.RepositoryException- Throws:
tigase.component.exceptions.RepositoryException
-
ensurePepNode
public AbstractNodeConfig ensurePepNode(tigase.xmpp.jid.BareJID toJid, String nodeName, tigase.xmpp.jid.BareJID ownerJid, tigase.xml.Element publishOptions) throws PubSubException
- Throws:
PubSubException
-
getFeatures
public String[] getFeatures()
- Specified by:
getFeaturesin interfacetigase.component.modules.Module
-
getModuleCriteria
public tigase.criteria.Criteria getModuleCriteria()
- Specified by:
getModuleCriteriain interfacetigase.component.modules.Module
-
getParents
public List<String> getParents(tigase.xmpp.jid.BareJID serviceJid, String nodeName) throws tigase.component.exceptions.RepositoryException
- Throws:
tigase.component.exceptions.RepositoryException
-
initialize
public void initialize()
- Specified by:
initializein interfacetigase.kernel.beans.Initializable
-
isPEPNodeName
public boolean isPEPNodeName(String nodeName)
-
process
public void process(tigase.server.Packet packet) throws PubSubException- Specified by:
processin interfacetigase.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, 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, String publisherNodeName, Map<String,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, String publisherNodeName, Map<String,String> headers)
-
trimItems
public void trimItems(IItems nodeItems, Integer maxItems, CollectionItemsOrdering collectionItemsOrdering) throws tigase.component.exceptions.RepositoryException
- Throws:
tigase.component.exceptions.RepositoryException
-
beforeUnregister
public void beforeUnregister()
- Specified by:
beforeUnregisterin interfacetigase.kernel.beans.UnregisterAware
-
beforePrepareNotification
protected void beforePrepareNotification(AbstractNodeConfig nodeConfig, ISubscriptions nodesSubscriptions)
-
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, 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
-
-