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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addJoinEvent​(tigase.muc.Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)  
      void addLeaveEvent​(tigase.muc.Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)  
      void addMessage​(tigase.muc.Room room, tigase.xml.Element message, java.lang.String body, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)  
      void addSubjectChange​(tigase.muc.Room room, tigase.xml.Element message, java.lang.String subject, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)  
      protected byte[] calculateHash​(java.lang.String user)  
      void destroy()  
      protected byte[] generateId​(tigase.xmpp.jid.BareJID user)  
      void getHistoryMessages​(tigase.muc.Room room, tigase.xmpp.jid.JID senderJID, java.lang.Integer maxchars, java.lang.Integer maxstanzas, java.lang.Integer seconds, java.util.Date since, tigase.component.PacketWriter writer)  
      boolean isPersistent​(tigase.muc.Room room)  
      tigase.xmpp.mam.Query newQuery()  
      void queryItems​(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler)  
      void removeHistory​(tigase.muc.Room room)  
      void setDataSource​(MongoDataSource dataSource)  
      tigase.db.util.SchemaLoader.Result updateSchema​(java.util.Optional<tigase.util.Version> oldVersion, tigase.util.Version newVersion)  
      • Methods inherited from class tigase.muc.history.AbstractHistoryProvider

        calculateOffsetAndPosition, createMessage, createMessageElement
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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,
                                 java.util.Date date,
                                 tigase.xmpp.jid.JID senderJID,
                                 java.lang.String nickName)
        Specified by:
        addJoinEvent in interface tigase.muc.history.HistoryProvider<MongoDataSource>
      • addLeaveEvent

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

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

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

        protected byte[] calculateHash​(java.lang.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,
                                       java.lang.Integer maxchars,
                                       java.lang.Integer maxstanzas,
                                       java.lang.Integer seconds,
                                       java.util.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​(java.util.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