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.BroadcastNotificationEventstatic classPublishItemModule.ItemPublishedEvent
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringAMP_XMLNSprotected LeafNodeConfigdefaultPepNodeConfigprotected java.util.Set<java.lang.String>pepNodesstatic java.lang.String[]SUPPORTED_PEP_XMLNS-
Fields inherited from class tigase.pubsub.AbstractPubSubModule
config, log, packetWriter, pubSubLogic
-
-
Constructor Summary
Constructors Constructor Description PublishItemModule()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeforeUnregister()voidbroadcastNotification(Executor.Priority priority, tigase.xmpp.jid.BareJID serviceJID, java.lang.String nodeName, tigase.xml.Element message)voiddoPublishItems(tigase.xmpp.jid.BareJID serviceJID, java.lang.String nodeName, LeafNodeConfig leafNodeConfig, java.lang.String publisher, java.util.List<tigase.xml.Element> itemsToSend)AbstractNodeConfigensurePepNode(tigase.xmpp.jid.BareJID toJid, java.lang.String nodeName, tigase.xmpp.jid.BareJID ownerJid, tigase.xml.Element publishOptions)voidgenerateItemsNotifications(tigase.xmpp.jid.BareJID serviceJID, java.lang.String nodeName, java.util.List<tigase.xml.Element> itemsToSend, java.lang.String uuid, boolean persistInMAM)voidgenerateNodeNotifications(tigase.xmpp.jid.BareJID serviceJID, java.lang.String nodeName, tigase.xml.Element payload, java.lang.String uuid, boolean persistInMAM)java.lang.String[]getFeatures()tigase.criteria.CriteriagetModuleCriteria()protected tigase.xmpp.jid.JID[]getValidBuddies(tigase.xmpp.jid.BareJID id)voidinitialize()booleanisPEPNodeName(java.lang.String nodeName)static voidmain(java.lang.String[] args)protected voidonCapsChange(PresenceCollectorModule.CapsChangeEvent event)protected voidonPresenceChangeEvent(PresenceCollectorModule.PresenceChangeEvent event)voidprocess(tigase.server.Packet packet)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)protected voidpublishLastItem(tigase.xmpp.jid.BareJID serviceJid, java.lang.String nodeName, tigase.xmpp.jid.JID buddyJid)voidpublishLastItem(tigase.xmpp.jid.BareJID serviceJid, AbstractNodeConfig nodeConfig, tigase.xmpp.jid.JID destinationJID)voidsendNotification(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)voidtrimItems(tigase.xmpp.jid.BareJID serviceJid, java.lang.String nodeName, java.lang.Integer maxItems, CollectionItemsOrdering collectionItemsOrdering)-
Methods inherited from class tigase.pubsub.AbstractPubSubModule
canHandle, 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 java.lang.String AMP_XMLNS
- See Also:
- Constant Field Values
-
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
-
-
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.RepositoryExceptionPubSubException
-
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
-
ensurePepNode
public AbstractNodeConfig ensurePepNode(tigase.xmpp.jid.BareJID toJid, java.lang.String nodeName, tigase.xmpp.jid.BareJID ownerJid, tigase.xml.Element publishOptions) throws PubSubException
- Throws:
PubSubException
-
getFeatures
public java.lang.String[] getFeatures()
- Specified by:
getFeaturesin interfacetigase.component.modules.Module
-
getModuleCriteria
public tigase.criteria.Criteria getModuleCriteria()
- Specified by:
getModuleCriteriain interfacetigase.component.modules.Module
-
initialize
public void initialize()
- Specified by:
initializein interfacetigase.kernel.beans.Initializable
-
isPEPNodeName
public boolean isPEPNodeName(java.lang.String nodeName)
-
process
public void process(tigase.server.Packet packet) throws PubSubException- Specified by:
processin interfacetigase.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.RepositoryExceptionPubSubException
-
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:
beforeUnregisterin interfacetigase.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
-
-