Package tigase.db.xml
Class XMLMsgRepository
- java.lang.Object
-
- tigase.server.amp.db.MsgRepository<java.lang.String,XMLDataSource>
-
- tigase.db.xml.XMLMsgRepository
-
- All Implemented Interfaces:
DataSourceAware<XMLDataSource>,MsgRepositoryIfc<XMLDataSource>,OfflineMsgRepositoryIfc,Repository
public class XMLMsgRepository extends MsgRepository<java.lang.String,XMLDataSource>
Created by andrzej on 04.04.2017.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class tigase.server.amp.db.MsgRepository
MsgRepository.MSG_TYPES, MsgRepository.MsgDBItem<T>, MsgRepository.MsgRepositoryMDBean, MsgRepository.MsgRepositoryPoolBean<T>, MsgRepository.OfflineMessagesProcessor
-
Nested classes/interfaces inherited from interface tigase.db.Repository
Repository.Meta, Repository.SchemaId
-
-
Field Summary
-
Fields inherited from class tigase.server.amp.db.MsgRepository
awaitingInExpiredQueue, earliestOffline, expiredQueue, MAX_QUEUE_SIZE, MSGS_STORE_LIMIT_KEY, OFFLINE_MSGS_KEY, parser
-
-
Constructor Summary
Constructors Constructor Description XMLMsgRepository()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddeleteMessage(java.lang.String db_id)intdeleteMessagesToJID(java.util.List<java.lang.String> db_ids, XMPPResourceConnection session)java.util.Map<java.lang.Enum,java.lang.Long>getMessagesCount(JID to)java.util.List<Element>getMessagesList(JID to)protected voidloadExpiredQueue(int max)protected voidloadExpiredQueue(java.util.Date expired)java.util.Queue<Element>loadMessagesToJID(java.util.List<java.lang.String> db_ids, XMPPResourceConnection session, boolean delete, MsgRepository.OfflineMessagesProcessor proc)java.util.Queue<Element>loadMessagesToJID(XMPPResourceConnection session, boolean delete)Loads all payloads for the given user'sJIDfrom repository.voidsetDataSource(XMLDataSource dataSource)Method called to provide class with instance of a data source.booleanstoreMessage(JID from, JID to, java.util.Date expired, Element msg, NonAuthUserRepository userRepo)Saves the massage to the repository-
Methods inherited from class tigase.server.amp.db.MsgRepository
getInstance, getMessageExpired, getMsgsStoreLimit, initRepository, setCondition
-
-
-
-
Method Detail
-
setDataSource
public void setDataSource(XMLDataSource dataSource)
Description copied from interface:DataSourceAwareMethod called to provide class with instance of a data source.
-
getMessagesCount
public java.util.Map<java.lang.Enum,java.lang.Long> getMessagesCount(JID to) throws UserNotFoundException
- Throws:
UserNotFoundException
-
getMessagesList
public java.util.List<Element> getMessagesList(JID to) throws UserNotFoundException
- Throws:
UserNotFoundException
-
loadMessagesToJID
public java.util.Queue<Element> loadMessagesToJID(XMPPResourceConnection session, boolean delete) throws UserNotFoundException
Description copied from interface:OfflineMsgRepositoryIfcLoads all payloads for the given user'sJIDfrom repository.- Parameters:
session- user session which keeps all the user session data and also gives an access to the user's repository data.delete- boolean parameter controlling whether messages should be removed from repository after they retrieved.- Returns:
- a
QueueofElementobjects representing stored payloads for the given user'sJID - Throws:
UserNotFoundException
-
storeMessage
public boolean storeMessage(JID from, JID to, java.util.Date expired, Element msg, NonAuthUserRepository userRepo) throws UserNotFoundException
Description copied from interface:OfflineMsgRepositoryIfcSaves the massage to the repository- Parameters:
from-JIDdenotes address of the senderto-JIDdenotes address of the receiverexpired-Dateobject denoting expiration date of the messagemsg-Elementpayload of the stanza to be saveduserRepo-NonAuthUserRepositoryinstance of non auth user repository to get user settings for offline messages- Returns:
trueif the packet was correctly saved to repository,falseotherwise.- Throws:
UserNotFoundException
-
loadMessagesToJID
public java.util.Queue<Element> loadMessagesToJID(java.util.List<java.lang.String> db_ids, XMPPResourceConnection session, boolean delete, MsgRepository.OfflineMessagesProcessor proc) throws UserNotFoundException
- Specified by:
loadMessagesToJIDin interfaceMsgRepositoryIfc<XMLDataSource>- Specified by:
loadMessagesToJIDin classMsgRepository<java.lang.String,XMLDataSource>- Throws:
UserNotFoundException
-
deleteMessagesToJID
public int deleteMessagesToJID(java.util.List<java.lang.String> db_ids, XMPPResourceConnection session) throws UserNotFoundException- Specified by:
deleteMessagesToJIDin interfaceMsgRepositoryIfc<XMLDataSource>- Specified by:
deleteMessagesToJIDin classMsgRepository<java.lang.String,XMLDataSource>- Throws:
UserNotFoundException
-
loadExpiredQueue
protected void loadExpiredQueue(int max)
- Specified by:
loadExpiredQueuein classMsgRepository<java.lang.String,XMLDataSource>
-
loadExpiredQueue
protected void loadExpiredQueue(java.util.Date expired)
- Specified by:
loadExpiredQueuein classMsgRepository<java.lang.String,XMLDataSource>
-
deleteMessage
protected void deleteMessage(java.lang.String db_id)
- Specified by:
deleteMessagein classMsgRepository<java.lang.String,XMLDataSource>
-
-