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 void
deleteMessage(java.lang.String db_id)
int
deleteMessagesToJID(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 void
loadExpiredQueue(int max)
protected void
loadExpiredQueue(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'sJID
from repository.void
setDataSource(XMLDataSource dataSource)
Method called to provide class with instance of a data source.boolean
storeMessage(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:DataSourceAware
Method 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:OfflineMsgRepositoryIfc
Loads all payloads for the given user'sJID
from 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
Queue
ofElement
objects 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:OfflineMsgRepositoryIfc
Saves the massage to the repository- Parameters:
from
-JID
denotes address of the senderto
-JID
denotes address of the receiverexpired
-Date
object denoting expiration date of the messagemsg
-Element
payload of the stanza to be saveduserRepo
-NonAuthUserRepository
instance of non auth user repository to get user settings for offline messages- Returns:
true
if the packet was correctly saved to repository,false
otherwise.- 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:
loadMessagesToJID
in interfaceMsgRepositoryIfc<XMLDataSource>
- Specified by:
loadMessagesToJID
in 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:
deleteMessagesToJID
in interfaceMsgRepositoryIfc<XMLDataSource>
- Specified by:
deleteMessagesToJID
in classMsgRepository<java.lang.String,XMLDataSource>
- Throws:
UserNotFoundException
-
loadExpiredQueue
protected void loadExpiredQueue(int max)
- Specified by:
loadExpiredQueue
in classMsgRepository<java.lang.String,XMLDataSource>
-
loadExpiredQueue
protected void loadExpiredQueue(java.util.Date expired)
- Specified by:
loadExpiredQueue
in classMsgRepository<java.lang.String,XMLDataSource>
-
deleteMessage
protected void deleteMessage(java.lang.String db_id)
- Specified by:
deleteMessage
in classMsgRepository<java.lang.String,XMLDataSource>
-
-