Class JDBCHistoryProvider

java.lang.Object
tigase.muc.history.AbstractHistoryProvider<tigase.db.DataRepository>
tigase.muc.history.JDBCHistoryProvider
All Implemented Interfaces:
tigase.db.DataSourceAware<tigase.db.DataRepository>, tigase.db.util.RepositoryVersionAware, ExtendedMAMRepository, HistoryProvider<tigase.db.DataRepository>, tigase.xmpp.mam.MAMRepository

public class JDBCHistoryProvider extends AbstractHistoryProvider<tigase.db.DataRepository> implements HistoryProvider<tigase.db.DataRepository>, ExtendedMAMRepository, tigase.db.util.RepositoryVersionAware
Created by andrzej on 17.10.2016.
  • Field Details

    • data_repo

      protected tigase.db.DataRepository data_repo
  • Constructor Details

    • JDBCHistoryProvider

      public JDBCHistoryProvider()
  • Method Details

    • addJoinEvent

      public void addJoinEvent(Room room, Date date, tigase.xmpp.jid.JID senderJID, 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, Date date, tigase.xmpp.jid.JID senderJID, String nickName)
      Specified by:
      addLeaveEvent in interface HistoryProvider<tigase.db.DataRepository>
    • addMessage

      @Deprecated public void addMessage(Room room, tigase.xml.Element message, String body, tigase.xmpp.jid.JID senderJid, String senderNickname, Date time)
      Deprecated.
      Specified by:
      addMessage in interface HistoryProvider<tigase.db.DataRepository>
    • addMessage

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

      public void addSubjectChange(Room room, tigase.xml.Element message, String subject, tigase.xmpp.jid.JID senderJid, String senderNickname, 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, Integer maxchars, Integer maxstanzas, Integer seconds, Date since, tigase.component.PacketWriter writer)
      Specified by:
      getHistoryMessages in interface HistoryProvider<tigase.db.DataRepository>
    • getItem

      public tigase.xmpp.mam.MAMRepository.Item getItem(tigase.xmpp.jid.BareJID owner, String stableId) throws tigase.db.TigaseDBException
      Specified by:
      getItem in interface ExtendedMAMRepository
      Throws:
      tigase.db.TigaseDBException
    • updateMessage

      public void updateMessage(tigase.xmpp.jid.BareJID owner, String stableId, tigase.xml.Element msg, String body) throws tigase.db.TigaseDBException
      Specified by:
      updateMessage in interface ExtendedMAMRepository
      Throws:
      tigase.db.TigaseDBException
    • isPersistent

      public boolean isPersistent(Room room)
      Specified by:
      isPersistent in interface HistoryProvider<tigase.db.DataRepository>
    • removeHistory

      public void removeHistory(Room room)
      Specified by:
      removeHistory 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, Timestamp since, tigase.component.PacketWriter writer) throws SQLException, tigase.util.stringprep.TigaseStringprepException
      Throws:
      SQLException
      tigase.util.stringprep.TigaseStringprepException
    • processResultSet

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

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