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 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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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)
     
    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)
     
    getTags(tigase.xmpp.jid.BareJID owner, String startsWith, tigase.archive.QueryCriteria criteria)
     
    tigase.archive.QueryCriteria
     
    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
     
    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 class tigase.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 interface tigase.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 interface tigase.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 interface tigase.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 interface tigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
      Throws:
      tigase.db.TigaseDBException
    • newQuery

      public tigase.archive.QueryCriteria newQuery()
      Specified by:
      newQuery in interface tigase.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 interface tigase.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 interface tigase.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 interface tigase.archive.db.MessageArchiveRepository<tigase.archive.QueryCriteria,MongoDataSource>
      Throws:
      tigase.db.TigaseDBException
    • setDataSource

      public void setDataSource(MongoDataSource dataSource)
      Specified by:
      setDataSource in interface tigase.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 interface tigase.db.util.RepositoryVersionAware
      Throws:
      tigase.db.TigaseDBException