Package tigase.mongodb.muc
Class MongoHistoryProvider
java.lang.Object
tigase.muc.history.AbstractHistoryProvider<MongoDataSource>
tigase.mongodb.muc.MongoHistoryProvider
- All Implemented Interfaces:
tigase.db.DataSourceAware<MongoDataSource>
,tigase.db.util.RepositoryVersionAware
,MongoRepositoryVersionAware
,tigase.muc.history.ExtendedMAMRepository
,tigase.muc.history.HistoryProvider<MongoDataSource>
,tigase.xmpp.mam.MAMRepository
public class MongoHistoryProvider
extends tigase.muc.history.AbstractHistoryProvider<MongoDataSource>
implements MongoRepositoryVersionAware, tigase.muc.history.ExtendedMAMRepository
- Author:
- andrzej
-
Nested Class Summary
Nested classes/interfaces inherited from interface tigase.xmpp.mam.MAMRepository
tigase.xmpp.mam.MAMRepository.Item, tigase.xmpp.mam.MAMRepository.ItemHandler<Q extends tigase.xmpp.mam.Query,
I extends tigase.xmpp.mam.MAMRepository.Item> Nested classes/interfaces inherited from interface tigase.db.util.RepositoryVersionAware
tigase.db.util.RepositoryVersionAware.SchemaVersion
-
Field Summary
Modifier and TypeFieldDescriptionprotected com.mongodb.client.MongoCollection<org.bson.Document>
Fields inherited from class tigase.muc.history.AbstractHistoryProvider
log, parser
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addJoinEvent
(tigase.muc.Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) void
addLeaveEvent
(tigase.muc.Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) void
addMessage
(tigase.muc.Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) Deprecated.void
addMessage
(tigase.muc.Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time, String stableId) void
addSubjectChange
(tigase.muc.Room room, tigase.xml.Element message, String subject, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) protected byte[]
calculateHash
(String user) void
destroy()
protected byte[]
generateId
(tigase.xmpp.jid.BareJID user) void
getHistoryMessages
(tigase.muc.Room room, tigase.xmpp.jid.JID senderJID, Integer maxchars, Integer maxstanzas, Integer seconds, Date since, tigase.component.PacketWriter writer) tigase.xmpp.mam.MAMRepository.Item
boolean
isPersistent
(tigase.muc.Room room) tigase.xmpp.mam.Query
newQuery()
void
queryItems
(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler) void
removeHistory
(tigase.muc.Room room) void
setDataSource
(MongoDataSource dataSource) void
updateMessage
(tigase.xmpp.jid.BareJID owner, String stableId, tigase.xml.Element msg, String body) tigase.db.util.SchemaLoader.Result
updateSchema
(Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion) Methods inherited from class tigase.muc.history.AbstractHistoryProvider
calculateOffsetAndPosition, createMessage, createMessage, createMessageElement, isAllowedToSeeJIDs, parseMessage
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface tigase.xmpp.mam.MAMRepository
newQuery
Methods inherited from interface tigase.mongodb.MongoRepositoryVersionAware
getVersion
-
Field Details
-
historyCollection
protected com.mongodb.client.MongoCollection<org.bson.Document> historyCollection
-
-
Constructor Details
-
MongoHistoryProvider
public MongoHistoryProvider()
-
-
Method Details
-
addJoinEvent
public void addJoinEvent(tigase.muc.Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) - Specified by:
addJoinEvent
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addLeaveEvent
public void addLeaveEvent(tigase.muc.Room room, Date date, tigase.xmpp.jid.JID senderJID, String nickName) - Specified by:
addLeaveEvent
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addMessage
@Deprecated public void addMessage(tigase.muc.Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) Deprecated.- Specified by:
addMessage
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addMessage
public void addMessage(tigase.muc.Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time, String stableId) - Specified by:
addMessage
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addSubjectChange
public void addSubjectChange(tigase.muc.Room room, tigase.xml.Element message, String subject, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time) - Specified by:
addSubjectChange
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
getItem
public tigase.xmpp.mam.MAMRepository.Item getItem(tigase.xmpp.jid.BareJID owner, String stableId) throws tigase.component.exceptions.RepositoryException - Specified by:
getItem
in interfacetigase.muc.history.ExtendedMAMRepository
- Throws:
tigase.component.exceptions.RepositoryException
-
updateMessage
public void updateMessage(tigase.xmpp.jid.BareJID owner, String stableId, tigase.xml.Element msg, String body) throws tigase.component.exceptions.RepositoryException - Specified by:
updateMessage
in interfacetigase.muc.history.ExtendedMAMRepository
- Throws:
tigase.component.exceptions.RepositoryException
-
calculateHash
- Throws:
tigase.db.TigaseDBException
-
destroy
public void destroy()- Specified by:
destroy
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
generateId
protected byte[] generateId(tigase.xmpp.jid.BareJID user) throws tigase.db.TigaseDBException - Throws:
tigase.db.TigaseDBException
-
getHistoryMessages
public void getHistoryMessages(tigase.muc.Room room, tigase.xmpp.jid.JID senderJID, Integer maxchars, Integer maxstanzas, Integer seconds, Date since, tigase.component.PacketWriter writer) - Specified by:
getHistoryMessages
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
isPersistent
public boolean isPersistent(tigase.muc.Room room) - Specified by:
isPersistent
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
newQuery
public tigase.xmpp.mam.Query newQuery()- Specified by:
newQuery
in interfacetigase.xmpp.mam.MAMRepository
-
queryItems
public void queryItems(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler) throws tigase.db.TigaseDBException, tigase.component.exceptions.ComponentException - Specified by:
queryItems
in interfacetigase.xmpp.mam.MAMRepository
- Throws:
tigase.db.TigaseDBException
tigase.component.exceptions.ComponentException
-
removeHistory
public void removeHistory(tigase.muc.Room room) - Specified by:
removeHistory
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
setDataSource
- Specified by:
setDataSource
in interfacetigase.db.DataSourceAware<MongoDataSource>
-
updateSchema
public tigase.db.util.SchemaLoader.Result updateSchema(Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion) throws tigase.db.TigaseDBException - Specified by:
updateSchema
in interfacetigase.db.util.RepositoryVersionAware
- Throws:
tigase.db.TigaseDBException
-