Class MongoHistoryProvider

    • Nested Class Summary

      • Nested classes/interfaces inherited from interface tigase.xmpp.mam.MAMRepository

        tigase.xmpp.mam.MAMRepository.Item, 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.db.util.RepositoryVersionAware

        tigase.db.util.RepositoryVersionAware.SchemaVersion
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.mongodb.client.MongoCollection<org.bson.Document> historyCollection  
      • Fields inherited from class tigase.muc.history.AbstractHistoryProvider

        log, parser
    • Field Detail

      • historyCollection

        protected com.mongodb.client.MongoCollection<org.bson.Document> historyCollection
    • Constructor Detail

      • MongoHistoryProvider

        public MongoHistoryProvider()
    • Method Detail

      • addJoinEvent

        public void addJoinEvent​(tigase.muc.Room room,
                                 Date date,
                                 tigase.xmpp.jid.JID senderJID,
                                 String nickName)
        Specified by:
        addJoinEvent in interface tigase.muc.history.HistoryProvider<MongoDataSource>
      • addLeaveEvent

        public void addLeaveEvent​(tigase.muc.Room room,
                                  Date date,
                                  tigase.xmpp.jid.JID senderJID,
                                  String nickName)
        Specified by:
        addLeaveEvent in interface tigase.muc.history.HistoryProvider<MongoDataSource>
      • addMessage

        public void addMessage​(tigase.muc.Room room,
                               tigase.xml.Element message,
                               String body,
                               tigase.xmpp.jid.JID senderJid,
                               String senderNickname,
                               Date time)
        Specified by:
        addMessage in interface tigase.muc.history.HistoryProvider<MongoDataSource>
      • addSubjectChange

        public void addSubjectChange​(tigase.muc.Room room,
                                     tigase.xml.Element message,
                                     String subject,
                                     tigase.xmpp.jid.JID senderJid,
                                     String senderNickname,
                                     Date time)
        Specified by:
        addSubjectChange in interface tigase.muc.history.HistoryProvider<MongoDataSource>
      • calculateHash

        protected byte[] calculateHash​(String user)
                                throws tigase.db.TigaseDBException
        Throws:
        tigase.db.TigaseDBException
      • destroy

        public void destroy()
        Specified by:
        destroy in interface tigase.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,
                                       Integer maxchars,
                                       Integer maxstanzas,
                                       Integer seconds,
                                       Date since,
                                       tigase.component.PacketWriter writer)
        Specified by:
        getHistoryMessages in interface tigase.muc.history.HistoryProvider<MongoDataSource>
      • isPersistent

        public boolean isPersistent​(tigase.muc.Room room)
        Specified by:
        isPersistent in interface tigase.muc.history.HistoryProvider<MongoDataSource>
      • newQuery

        public tigase.xmpp.mam.Query newQuery()
        Specified by:
        newQuery in interface tigase.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 interface tigase.xmpp.mam.MAMRepository
        Throws:
        tigase.db.TigaseDBException
        tigase.component.exceptions.ComponentException
      • removeHistory

        public void removeHistory​(tigase.muc.Room room)
        Specified by:
        removeHistory in interface tigase.muc.history.HistoryProvider<MongoDataSource>
      • 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