Package tigase.muc.history
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
,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.
-
-
Field Summary
Fields Modifier and Type Field Description protected tigase.db.DataRepository
data_repo
-
Fields inherited from class tigase.muc.history.AbstractHistoryProvider
parser
-
-
Constructor Summary
Constructors Constructor Description JDBCHistoryProvider()
-
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 releasedvoid
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 tigase.muc.history.AbstractHistoryProvider
calculateOffsetAndPosition, createMessage, createMessageElement, isAllowedToSeeJIDs
-
-
-
-
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 interfaceHistoryProvider<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 interfaceHistoryProvider<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 interfaceHistoryProvider<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 interfaceHistoryProvider<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 interfaceHistoryProvider<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 interfaceHistoryProvider<tigase.db.DataRepository>
-
isPersistent
public boolean isPersistent(Room room)
- Specified by:
isPersistent
in interfaceHistoryProvider<tigase.db.DataRepository>
-
removeHistory
public void removeHistory(Room room)
- Specified by:
removeHistory
in interfaceHistoryProvider<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 interfacetigase.xmpp.mam.MAMRepository
- Throws:
tigase.db.TigaseDBException
tigase.component.exceptions.ComponentException
-
newQuery
public tigase.xmpp.mam.Query newQuery()
- Specified by:
newQuery
in interfacetigase.xmpp.mam.MAMRepository
-
setDataSource
public void setDataSource(tigase.db.DataRepository dataSource)
- Specified by:
setDataSource
in interfacetigase.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
-
-