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 ClassesModifier and TypeClassDescriptionstatic classMongoMessageArchiveRepository.Item<Q extends tigase.archive.QueryCriteria>static classNested classes/interfaces inherited from class tigase.archive.db.AbstractMessageArchiveRepository
tigase.archive.db.AbstractMessageArchiveRepository.AddMessageAdditionalDataProviderNested 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 Nested classes/interfaces inherited from interface tigase.db.util.RepositoryVersionAware
tigase.db.util.RepositoryVersionAware.SchemaVersion -
Field Summary
Fields inherited from class tigase.archive.db.AbstractMessageArchiveRepository
MSG_SUBJECT_PATH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidarchiveMessage(tigase.xmpp.jid.BareJID ownerJid, tigase.xmpp.jid.BareJID buddyJid, Date timestamp, tigase.xml.Element msg, String stableIdStr, String stanzaId, String refStableId, Set<String> tags, MongoMessageArchiveRepository.MongoDBAddMessageAdditionalDataProvider additionParametersProvider) voidarchiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, Date timestamp, tigase.xml.Element msg, String stableId, Set tags) org.bson.DocumentcreateCriteriaDocument(tigase.archive.QueryCriteria query) voiddeleteExpiredMessages(tigase.xmpp.jid.BareJID owner, LocalDateTime before) getStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, String stanzaId) 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, String with, Date start, Date end) voidsetDataSource(MongoDataSource dataSource) tigase.db.util.SchemaLoader.ResultupdateSchema(Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion) Methods inherited from class tigase.archive.db.AbstractMessageArchiveRepository
archiveMessage, calculateOffsetAndPosition, calculateOffsetAndPosition, calculateOffsetAndPosition, extractOriginId, findRefStableIdMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface tigase.xmpp.mam.MAMRepository
newQueryMethods inherited from interface tigase.archive.db.MessageArchiveRepository
destroyMethods inherited from interface tigase.mongodb.MongoRepositoryVersionAware
getVersion
-
Constructor Details
-
MongoMessageArchiveRepository
public MongoMessageArchiveRepository()
-
-
Method Details
-
archiveMessage
protected void archiveMessage(tigase.xmpp.jid.BareJID ownerJid, tigase.xmpp.jid.BareJID buddyJid, Date timestamp, tigase.xml.Element msg, String stableIdStr, String stanzaId, String refStableId, Set<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, Date timestamp, tigase.xml.Element msg, String stableId, Set tags) - Specified by:
archiveMessagein interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
-
deleteExpiredMessages
public void deleteExpiredMessages(tigase.xmpp.jid.BareJID owner, LocalDateTime before) throws tigase.db.TigaseDBException - Specified by:
deleteExpiredMessagesin interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource> - Throws:
tigase.db.TigaseDBException
-
getStableId
public String getStableId(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, String stanzaId) throws tigase.db.TigaseDBException - Specified by:
getStableIdin interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource> - Throws:
tigase.db.TigaseDBException
-
getTags
public List<String> getTags(tigase.xmpp.jid.BareJID owner, 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, String with, Date start, Date end) throws tigase.db.TigaseDBException - Specified by:
removeItemsin interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource> - Throws:
tigase.db.TigaseDBException
-
setDataSource
- Specified by:
setDataSourcein 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:
updateSchemain interfacetigase.db.util.RepositoryVersionAware- Throws:
tigase.db.TigaseDBException
-