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.HistoryProvider<MongoDataSource>
,tigase.xmpp.mam.MAMRepository
public class MongoHistoryProvider extends tigase.muc.history.AbstractHistoryProvider<MongoDataSource> implements MongoRepositoryVersionAware, tigase.xmpp.mam.MAMRepository
- Author:
- andrzej
-
-
Field Summary
Fields Modifier and Type Field Description protected com.mongodb.client.MongoCollection<org.bson.Document>
historyCollection
-
Constructor Summary
Constructors Constructor Description MongoHistoryProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addJoinEvent(tigase.muc.Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
void
addLeaveEvent(tigase.muc.Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
void
addMessage(tigase.muc.Room room, tigase.xml.Element message, java.lang.String body, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
void
addSubjectChange(tigase.muc.Room room, tigase.xml.Element message, java.lang.String subject, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
protected byte[]
calculateHash(java.lang.String user)
void
destroy()
protected byte[]
generateId(tigase.xmpp.jid.BareJID user)
void
getHistoryMessages(tigase.muc.Room room, tigase.xmpp.jid.JID senderJID, java.lang.Integer maxchars, java.lang.Integer maxstanzas, java.lang.Integer seconds, java.util.Date since, tigase.component.PacketWriter writer)
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)
tigase.db.util.SchemaLoader.Result
updateSchema(java.util.Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion)
-
Methods inherited from class tigase.muc.history.AbstractHistoryProvider
calculateOffsetAndPosition, createMessage, createMessageElement
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tigase.mongodb.MongoRepositoryVersionAware
getVersion
-
-
-
-
Method Detail
-
addJoinEvent
public void addJoinEvent(tigase.muc.Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
- Specified by:
addJoinEvent
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addLeaveEvent
public void addLeaveEvent(tigase.muc.Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
- Specified by:
addLeaveEvent
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addMessage
public void addMessage(tigase.muc.Room room, tigase.xml.Element message, java.lang.String body, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
- Specified by:
addMessage
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
addSubjectChange
public void addSubjectChange(tigase.muc.Room room, tigase.xml.Element message, java.lang.String subject, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
- Specified by:
addSubjectChange
in interfacetigase.muc.history.HistoryProvider<MongoDataSource>
-
calculateHash
protected byte[] calculateHash(java.lang.String user) throws tigase.db.TigaseDBException
- 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, java.lang.Integer maxchars, java.lang.Integer maxstanzas, java.lang.Integer seconds, java.util.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
public void setDataSource(MongoDataSource dataSource)
- Specified by:
setDataSource
in interfacetigase.db.DataSourceAware<MongoDataSource>
-
updateSchema
public tigase.db.util.SchemaLoader.Result updateSchema(java.util.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
-
-