Package tigase.archive.unified.db
Class JDBCUnifiedArchiveRepository
- java.lang.Object
-
- tigase.archive.db.AbstractMessageArchiveRepository<Q,tigase.db.DataRepository>
-
- tigase.archive.db.JDBCMessageArchiveRepository<QueryCriteria>
-
- tigase.archive.unified.db.JDBCUnifiedArchiveRepository
-
- All Implemented Interfaces:
tigase.archive.db.MessageArchiveRepository<QueryCriteria,tigase.db.DataRepository>,UnifiedArchiveRepository<tigase.db.DataRepository>,tigase.db.DataSourceAware<tigase.db.DataRepository>,tigase.db.util.RepositoryVersionAware,tigase.xmpp.mam.MAMRepository<QueryCriteria,tigase.xmpp.mam.MAMRepository.Item>
public class JDBCUnifiedArchiveRepository extends tigase.archive.db.JDBCMessageArchiveRepository<QueryCriteria> implements UnifiedArchiveRepository<tigase.db.DataRepository>, tigase.db.util.RepositoryVersionAware
Extended JDBCMessageArchivingRepository class to add unique features required for Unified Archive to work
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classJDBCUnifiedArchiveRepository.Itemstatic classJDBCUnifiedArchiveRepository.RecentItem-
Nested classes/interfaces inherited from interface tigase.xmpp.mam.MAMRepository
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.archive.db.MessageArchiveRepository
tigase.archive.db.MessageArchiveRepository.CollectionHandler<Q extends tigase.xmpp.mam.Query>, tigase.archive.db.MessageArchiveRepository.Direction
-
Nested classes/interfaces inherited from interface tigase.db.util.RepositoryVersionAware
tigase.db.util.RepositoryVersionAware.SchemaVersion
-
Nested classes/interfaces inherited from interface tigase.archive.unified.db.UnifiedArchiveRepository
UnifiedArchiveRepository.CallCondition, UnifiedArchiveRepository.Type
-
-
Field Summary
Fields Modifier and Type Field Description protected static StringOFFLINE_STORE_KEY-
Fields inherited from class tigase.archive.db.JDBCMessageArchiveRepository
ADD_MESSAGE_QUERY, ADD_TAG_TO_MESSAGE_QUERY, data_repo, DELETE_EXPIRED_MESSAGES_QUERY, GET_COLLECTIONS_COUNT_QUERY, GET_COLLECTIONS_QUERY, GET_MESSAGE_POSITION_QUERY, GET_MESSAGES_COUNT_QUERY, GET_MESSAGES_QUERY, GET_TAGS_FOR_USER_COUNT_QUERY, GET_TAGS_FOR_USER_QUERY, REMOVE_MESSAGES_QUERY
-
-
Constructor Summary
Constructors Constructor Description JDBCUnifiedArchiveRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intaddMessageAdditionalInfo(PreparedStatement stmt, int i, Map<String,Object> additionalData)voidarchiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, tigase.archive.db.MessageArchiveRepository.Direction direction, Date timestamp, tigase.xml.Element msg, Set<String> tags)protected byte[]generateHashOfMessage(tigase.archive.db.MessageArchiveRepository.Direction direction, tigase.xml.Element msg, Date ts, Map<String,Object> additionalData)protected tigase.db.DataRepositorygetDataRepository()protected voidinitPreparedStatements(tigase.db.DataRepository data_repo)protected JDBCUnifiedArchiveRepository.ItemnewItemInstance()QueryCriterianewQuery()Stream<? extends UnifiedArchiveRepository.Item>queryRecents(tigase.xmpp.jid.BareJID ownerJid, Date start, Date end, Set<UnifiedArchiveRepository.Type> types, Set<UnifiedArchiveRepository.CallCondition> callConditions, tigase.xmpp.rsm.RSM rsm)protected intqueryRecentsCount(tigase.xmpp.jid.BareJID ownerJid, Date start, Date end, Set<UnifiedArchiveRepository.Type> types, Set<UnifiedArchiveRepository.CallCondition> callConditions)protected intsetQueryParams(PreparedStatement stmt, QueryCriteria crit, Boolean groupByType, int i)-
Methods inherited from class tigase.archive.db.JDBCMessageArchiveRepository
archiveMessage, convertToTimestamp, deleteExpiredMessages, getTags, queryCollections, queryItems, removeItems, setCountQueryParams, setDataSource, setItemsQueryParams
-
Methods inherited from class tigase.archive.db.AbstractMessageArchiveRepository
calculateOffsetAndPosition
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
OFFLINE_STORE_KEY
protected static final String OFFLINE_STORE_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
archiveMessage
public void archiveMessage(tigase.xmpp.jid.BareJID owner, tigase.xmpp.jid.JID buddy, tigase.archive.db.MessageArchiveRepository.Direction direction, Date timestamp, tigase.xml.Element msg, Set<String> tags)- Specified by:
archiveMessagein interfacetigase.archive.db.MessageArchiveRepository<QueryCriteria,tigase.db.DataRepository>- Overrides:
archiveMessagein classtigase.archive.db.JDBCMessageArchiveRepository<QueryCriteria>
-
newQuery
public QueryCriteria newQuery()
- Specified by:
newQueryin interfacetigase.xmpp.mam.MAMRepository<QueryCriteria,tigase.xmpp.mam.MAMRepository.Item>- Overrides:
newQueryin classtigase.archive.db.JDBCMessageArchiveRepository<QueryCriteria>
-
queryRecents
public Stream<? extends UnifiedArchiveRepository.Item> queryRecents(tigase.xmpp.jid.BareJID ownerJid, Date start, Date end, Set<UnifiedArchiveRepository.Type> types, Set<UnifiedArchiveRepository.CallCondition> callConditions, tigase.xmpp.rsm.RSM rsm) throws tigase.db.TigaseDBException
- Specified by:
queryRecentsin interfaceUnifiedArchiveRepository<tigase.db.DataRepository>- Throws:
tigase.db.TigaseDBException
-
addMessageAdditionalInfo
protected int addMessageAdditionalInfo(PreparedStatement stmt, int i, Map<String,Object> additionalData) throws SQLException
- Overrides:
addMessageAdditionalInfoin classtigase.archive.db.JDBCMessageArchiveRepository<QueryCriteria>- Throws:
SQLException
-
queryRecentsCount
protected int queryRecentsCount(tigase.xmpp.jid.BareJID ownerJid, Date start, Date end, Set<UnifiedArchiveRepository.Type> types, Set<UnifiedArchiveRepository.CallCondition> callConditions) throws SQLException- Throws:
SQLException
-
initPreparedStatements
protected void initPreparedStatements(tigase.db.DataRepository data_repo) throws SQLException- Overrides:
initPreparedStatementsin classtigase.archive.db.JDBCMessageArchiveRepository<QueryCriteria>- Throws:
SQLException
-
newItemInstance
protected JDBCUnifiedArchiveRepository.Item newItemInstance()
- Overrides:
newItemInstancein classtigase.archive.db.JDBCMessageArchiveRepository<QueryCriteria>
-
setQueryParams
protected int setQueryParams(PreparedStatement stmt, QueryCriteria crit, Boolean groupByType, int i) throws SQLException
- Overrides:
setQueryParamsin classtigase.archive.db.JDBCMessageArchiveRepository<QueryCriteria>- Throws:
SQLException
-
getDataRepository
protected tigase.db.DataRepository getDataRepository()
-
generateHashOfMessage
protected byte[] generateHashOfMessage(tigase.archive.db.MessageArchiveRepository.Direction direction, tigase.xml.Element msg, Date ts, Map<String,Object> additionalData)- Overrides:
generateHashOfMessagein classtigase.archive.db.AbstractMessageArchiveRepository<QueryCriteria,tigase.db.DataRepository>
-
-