Class JDBCHistoryProvider

  • All Implemented Interfaces:
    tigase.db.DataSourceAware<tigase.db.DataRepository>, tigase.db.util.RepositoryVersionAware, HistoryProvider<tigase.db.DataRepository>, tigase.xmpp.mam.MAMRepository

    public class JDBCHistoryProvider
    extends AbstractHistoryProvider<tigase.db.DataRepository>
    implements HistoryProvider<tigase.db.DataRepository>, tigase.xmpp.mam.MAMRepository, tigase.db.util.RepositoryVersionAware
    Created by andrzej on 17.10.2016.
    • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addJoinEvent​(Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)
      Adds join event.
      void addLeaveEvent​(Room room, java.util.Date date, tigase.xmpp.jid.JID senderJID, java.lang.String nickName)  
      void addMessage​(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​(Room room, tigase.xml.Element message, java.lang.String subject, tigase.xmpp.jid.JID senderJid, java.lang.String senderNickname, java.util.Date time)
      Adds subject changes to log/history.
      void destroy()
      Destroys this instance of HistoryProvider releasing all resources allocated but this provider if they should be released
      void getHistoryMessages​(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)  
      protected void getMessagesSince​(Room room, tigase.xmpp.jid.JID senderJID, int maxMessages, java.sql.Timestamp since, tigase.component.PacketWriter writer)  
      protected void initPreparedStatements​(tigase.db.DataRepository repo)  
      boolean isPersistent​(Room room)  
      tigase.xmpp.mam.Query newQuery()  
      protected void processResultSet​(Room room, tigase.xmpp.jid.JID senderJID, tigase.component.PacketWriter writer, java.sql.ResultSet rs)  
      void queryItems​(tigase.xmpp.mam.Query query, tigase.xmpp.mam.MAMRepository.ItemHandler itemHandler)  
      void removeHistory​(Room room)  
      void setDataSource​(tigase.db.DataRepository dataSource)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface tigase.db.util.RepositoryVersionAware

        getVersion, updateSchema
    • Field Detail

      • data_repo

        protected tigase.db.DataRepository data_repo
    • Constructor Detail

      • JDBCHistoryProvider

        public JDBCHistoryProvider()
    • Method Detail

      • addJoinEvent

        public void addJoinEvent​(Room room,
                                 java.util.Date date,
                                 tigase.xmpp.jid.JID senderJID,
                                 java.lang.String nickName)
        Description copied from interface: HistoryProvider
        Adds join event.
        Specified by:
        addJoinEvent in interface HistoryProvider<tigase.db.DataRepository>
      • addLeaveEvent

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

        public void addMessage​(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 HistoryProvider<tigase.db.DataRepository>
      • addSubjectChange

        public void addSubjectChange​(Room room,
                                     tigase.xml.Element message,
                                     java.lang.String subject,
                                     tigase.xmpp.jid.JID senderJid,
                                     java.lang.String senderNickname,
                                     java.util.Date time)
        Description copied from interface: HistoryProvider
        Adds subject changes to log/history.
        Specified by:
        addSubjectChange in interface HistoryProvider<tigase.db.DataRepository>
      • destroy

        public void destroy()
        Description copied from interface: HistoryProvider
        Destroys this instance of HistoryProvider releasing all resources allocated but this provider if they should be released
        Specified by:
        destroy in interface HistoryProvider<tigase.db.DataRepository>
      • getHistoryMessages

        public void getHistoryMessages​(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 HistoryProvider<tigase.db.DataRepository>
      • 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
      • newQuery

        public tigase.xmpp.mam.Query newQuery()
        Specified by:
        newQuery in interface tigase.xmpp.mam.MAMRepository
      • setDataSource

        public void setDataSource​(tigase.db.DataRepository dataSource)
        Specified by:
        setDataSource in interface tigase.db.DataSourceAware<tigase.db.DataRepository>
      • getMessagesSince

        protected void getMessagesSince​(Room room,
                                        tigase.xmpp.jid.JID senderJID,
                                        int maxMessages,
                                        java.sql.Timestamp since,
                                        tigase.component.PacketWriter writer)
                                 throws java.sql.SQLException,
                                        tigase.util.stringprep.TigaseStringprepException
        Throws:
        java.sql.SQLException
        tigase.util.stringprep.TigaseStringprepException
      • processResultSet

        protected void processResultSet​(Room room,
                                        tigase.xmpp.jid.JID senderJID,
                                        tigase.component.PacketWriter writer,
                                        java.sql.ResultSet rs)
                                 throws java.sql.SQLException,
                                        tigase.util.stringprep.TigaseStringprepException
        Throws:
        java.sql.SQLException
        tigase.util.stringprep.TigaseStringprepException
      • initPreparedStatements

        protected void initPreparedStatements​(tigase.db.DataRepository repo)
                                       throws java.sql.SQLException
        Throws:
        java.sql.SQLException