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
Modifier and TypeClassDescriptionstatic class
MongoMessageArchiveRepository.Item<Q extends tigase.archive.QueryCriteria>
static class
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 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected 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) void
archiveMessage
(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, Date timestamp, tigase.xml.Element msg, String stableId, Set tags) org.bson.Document
createCriteriaDocument
(tigase.archive.QueryCriteria query) void
deleteExpiredMessages
(tigase.xmpp.jid.BareJID owner, LocalDateTime before) getStableId
(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.BareJID buddy, String stanzaId) tigase.archive.QueryCriteria
newQuery()
void
queryCollections
(tigase.archive.QueryCriteria query, tigase.archive.db.MessageArchiveRepository.CollectionHandler<tigase.archive.QueryCriteria, tigase.archive.db.MessageArchiveRepository.Collection> collectionHandler) void
queryItems
(tigase.archive.QueryCriteria query, tigase.xmpp.mam.MAMRepository.ItemHandler<tigase.archive.QueryCriteria, tigase.xmpp.mam.MAMRepository.Item> itemHandler) void
removeItems
(tigase.xmpp.jid.BareJID owner, String with, Date start, Date end) void
setDataSource
(MongoDataSource dataSource) tigase.db.util.SchemaLoader.Result
updateSchema
(Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion) Methods inherited from class tigase.archive.db.AbstractMessageArchiveRepository
archiveMessage, calculateOffsetAndPosition, 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.xmpp.mam.MAMRepository
newQuery
Methods inherited from interface tigase.archive.db.MessageArchiveRepository
destroy
Methods 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:
archiveMessage
in 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:
archiveMessage
in 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:
deleteExpiredMessages
in 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:
getStableId
in 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:
getTags
in interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,
MongoDataSource> - Throws:
tigase.db.TigaseDBException
-
newQuery
public tigase.archive.QueryCriteria newQuery()- Specified by:
newQuery
in 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:
queryCollections
in 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:
queryItems
in 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:
removeItems
in interfacetigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,
MongoDataSource> - Throws:
tigase.db.TigaseDBException
-
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
-