Package tigase.mongodb.archive
Class MongoMessageArchiveRepository
- java.lang.Object
-
- tigase.archive.db.AbstractMessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource,MongoMessageArchiveRepository.MongoDBAddMessageAdditionalDataProvider>
-
- tigase.mongodb.archive.MongoMessageArchiveRepository
-
- All Implemented Interfaces:
tigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>,tigase.db.DataSourceAware<MongoDataSource>,tigase.db.util.RepositoryVersionAware,MongoRepositoryVersionAware,tigase.xmpp.mam.MAMRepository<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item>
public class MongoMessageArchiveRepository extends tigase.archive.db.AbstractMessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource,MongoMessageArchiveRepository.MongoDBAddMessageAdditionalDataProvider> implements MongoRepositoryVersionAware
- Author:
- andrzej
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMongoMessageArchiveRepository.Item<Q extends tigase.archive.QueryCriteria>static classMongoMessageArchiveRepository.MongoDBAddMessageAdditionalDataProvider-
Nested classes/interfaces inherited from class tigase.archive.db.AbstractMessageArchiveRepository
tigase.archive.db.AbstractMessageArchiveRepository.AddMessageAdditionalDataProvider
-
Nested classes/interfaces inherited from interface tigase.xmpp.mam.MAMRepository
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.archive.db.MessageArchiveRepository
tigase.archive.db.MessageArchiveRepository.Collection, tigase.archive.db.MessageArchiveRepository.CollectionHandler<Q extends tigase.xmpp.mam.Query,C extends tigase.archive.db.MessageArchiveRepository.Collection>, tigase.archive.db.MessageArchiveRepository.Direction
-
-
Constructor Summary
Constructors Constructor Description MongoMessageArchiveRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidarchiveMessage(tigase.xmpp.jid.BareJID ownerJid, tigase.xmpp.jid.BareJID buddyJid, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableIdStr, java.lang.String stanzaId, java.lang.String refStableId, java.util.Set<java.lang.String> tags, MongoMessageArchiveRepository.MongoDBAddMessageAdditionalDataProvider additionParametersProvider)voidarchiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableId, java.util.Set tags)org.bson.DocumentcreateCriteriaDocument(tigase.archive.QueryCriteria query)voiddeleteExpiredMessages(tigase.xmpp.jid.BareJID owner, java.time.LocalDateTime before)java.lang.StringgetStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.lang.String stanzaId)java.util.List<java.lang.String>getTags(tigase.xmpp.jid.BareJID owner, java.lang.String startsWith, tigase.archive.QueryCriteria criteria)tigase.archive.QueryCriterianewQuery()voidqueryCollections(tigase.archive.QueryCriteria query, tigase.archive.db.MessageArchiveRepository.CollectionHandler<tigase.archive.QueryCriteria,tigase.archive.db.MessageArchiveRepository.Collection> collectionHandler)voidqueryItems(tigase.archive.QueryCriteria query, tigase.xmpp.mam.MAMRepository.ItemHandler<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item> itemHandler)voidremoveItems(tigase.xmpp.jid.BareJID owner, java.lang.String with, java.util.Date start, java.util.Date end)voidsetDataSource(MongoDataSource dataSource)tigase.db.util.SchemaLoader.ResultupdateSchema(java.util.Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion)-
Methods inherited from class tigase.archive.db.AbstractMessageArchiveRepository
archiveMessage, calculateOffsetAndPosition, calculateOffsetAndPosition, extractOriginId, findRefStableId
-
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
-
archiveMessage
protected void archiveMessage(tigase.xmpp.jid.BareJID ownerJid, tigase.xmpp.jid.BareJID buddyJid, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableIdStr, java.lang.String stanzaId, java.lang.String refStableId, java.util.Set<java.lang.String> tags, MongoMessageArchiveRepository.MongoDBAddMessageAdditionalDataProvider additionParametersProvider)- Specified by:
archiveMessagein classtigase.archive.db.AbstractMessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource,MongoMessageArchiveRepository.MongoDBAddMessageAdditionalDataProvider>
-
createCriteriaDocument
public org.bson.Document createCriteriaDocument(tigase.archive.QueryCriteria query) throws tigase.db.TigaseDBException- Throws:
tigase.db.TigaseDBException
-
archiveMessage
public void archiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, java.util.Date timestamp, tigase.xml.Element msg, java.lang.String stableId, java.util.Set tags)- Specified by:
archiveMessagein interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
-
deleteExpiredMessages
public void deleteExpiredMessages(tigase.xmpp.jid.BareJID owner, java.time.LocalDateTime before) throws tigase.db.TigaseDBException- Specified by:
deleteExpiredMessagesin interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>- Throws:
tigase.db.TigaseDBException
-
getStableId
public java.lang.String getStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, java.lang.String stanzaId) throws tigase.db.TigaseDBException- Specified by:
getStableIdin interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>- Throws:
tigase.db.TigaseDBException
-
getTags
public java.util.List<java.lang.String> getTags(tigase.xmpp.jid.BareJID owner, java.lang.String startsWith, tigase.archive.QueryCriteria criteria) throws tigase.db.TigaseDBException- Specified by:
getTagsin interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>- Throws:
tigase.db.TigaseDBException
-
newQuery
public tigase.archive.QueryCriteria newQuery()
- Specified by:
newQueryin interfacetigase.xmpp.mam.MAMRepository<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item>
-
queryCollections
public void queryCollections(tigase.archive.QueryCriteria query, tigase.archive.db.MessageArchiveRepository.CollectionHandler<tigase.archive.QueryCriteria,tigase.archive.db.MessageArchiveRepository.Collection> collectionHandler) throws tigase.db.TigaseDBException- Specified by:
queryCollectionsin interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>- Throws:
tigase.db.TigaseDBException
-
queryItems
public void queryItems(tigase.archive.QueryCriteria query, tigase.xmpp.mam.MAMRepository.ItemHandler<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item> itemHandler) throws tigase.db.TigaseDBException- Specified by:
queryItemsin interfacetigase.xmpp.mam.MAMRepository<tigase.archive.QueryCriteria,tigase.xmpp.mam.MAMRepository.Item>- Throws:
tigase.db.TigaseDBException
-
removeItems
public void removeItems(tigase.xmpp.jid.BareJID owner, java.lang.String with, java.util.Date start, java.util.Date end) throws tigase.db.TigaseDBException- Specified by:
removeItemsin interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>- Throws:
tigase.db.TigaseDBException
-
setDataSource
public void setDataSource(MongoDataSource dataSource)
- Specified by:
setDataSourcein 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:
updateSchemain interfacetigase.db.util.RepositoryVersionAware- Throws:
tigase.db.TigaseDBException
-
-