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.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PublishItemModule.BroadcastNotificationEvent
static class
PublishItemModule.ItemPublishedEvent
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
AMP_XMLNS
protected LeafNodeConfig
defaultPepNodeConfig
protected java.util.Set<java.lang.String>
pepNodes
static 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 void
beforeUnregister()
void
broadcastNotification(Executor.Priority priority, tigase.xmpp.jid.BareJID serviceJID, java.lang.String nodeName, tigase.xml.Element message)
void
doPublishItems(tigase.xmpp.jid.BareJID serviceJID, java.lang.String nodeName, LeafNodeConfig leafNodeConfig, java.lang.String publisher, java.util.List<tigase.xml.Element> itemsToSend)
AbstractNodeConfig
ensurePepNode(tigase.xmpp.jid.BareJID toJid, java.lang.String nodeName, tigase.xmpp.jid.BareJID ownerJid, tigase.xml.Element publishOptions)
void
generateItemsNotifications(tigase.xmpp.jid.BareJID serviceJID, java.lang.String nodeName, java.util.List<tigase.xml.Element> itemsToSend, java.lang.String uuid, boolean persistInMAM)
void
generateNodeNotifications(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.Criteria
getModuleCriteria()
protected tigase.xmpp.jid.JID[]
getValidBuddies(tigase.xmpp.jid.BareJID id)
void
initialize()
boolean
isPEPNodeName(java.lang.String nodeName)
static void
main(java.lang.String[] args)
protected void
onCapsChange(PresenceCollectorModule.CapsChangeEvent event)
protected void
onPresenceChangeEvent(PresenceCollectorModule.PresenceChangeEvent event)
void
process(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 void
publishLastItem(tigase.xmpp.jid.BareJID serviceJid, java.lang.String nodeName, tigase.xmpp.jid.JID buddyJid)
void
publishLastItem(tigase.xmpp.jid.BareJID serviceJid, AbstractNodeConfig nodeConfig, tigase.xmpp.jid.JID destinationJID)
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)
void
trimItems(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.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
-
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:
getFeatures
in interfacetigase.component.modules.Module
-
getModuleCriteria
public tigase.criteria.Criteria getModuleCriteria()
- Specified by:
getModuleCriteria
in interfacetigase.component.modules.Module
-
initialize
public void initialize()
- Specified by:
initialize
in interfacetigase.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 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.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 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
-
-