Search in sources :

Example 1 with RecordIMAPSessionResponse

use of com.zimbra.soap.mail.message.RecordIMAPSessionResponse in project zm-mailbox by Zimbra.

the class ZMailbox method recordImapSession.

public void recordImapSession(ItemIdentifier folderId) throws ServiceException {
    RecordIMAPSessionRequest req = new RecordIMAPSessionRequest(folderId.toString());
    RecordIMAPSessionResponse resp = invokeJaxb(req);
    String folderUuid = resp.getFolderUuid();
    int lastItemId = resp.getLastItemId();
    ZFolder folder = this.getFolderByUuid(folderUuid);
    if (folder != null) {
        folder.updateImapRECENTCutoff(lastItemId);
    }
}
Also used : RecordIMAPSessionRequest(com.zimbra.soap.mail.message.RecordIMAPSessionRequest) RecordIMAPSessionResponse(com.zimbra.soap.mail.message.RecordIMAPSessionResponse)

Example 2 with RecordIMAPSessionResponse

use of com.zimbra.soap.mail.message.RecordIMAPSessionResponse in project zm-mailbox by Zimbra.

the class RecordIMAPSession method handle.

@Override
public Element handle(Element request, Map<String, Object> context) throws ServiceException {
    ZimbraSoapContext zsc = getZimbraSoapContext(context);
    com.zimbra.soap.mail.message.RecordIMAPSessionRequest req = zsc.elementToJaxb(request);
    String folderId = req.getFolderId();
    Mailbox mbox = getRequestedMailbox(zsc);
    ItemIdentifier folderIdent = ItemIdentifier.fromEncodedAndDefaultAcctId(folderId, mbox.getAccountId());
    mbox.recordImapSession(folderIdent.id);
    int lastItemId = mbox.getLastItemId();
    Folder folder = mbox.getFolderById(null, folderIdent.id);
    RecordIMAPSessionResponse resp = new RecordIMAPSessionResponse(lastItemId, folder.getUuid());
    return zsc.jaxbToElement(resp);
}
Also used : ItemIdentifier(com.zimbra.common.mailbox.ItemIdentifier) Mailbox(com.zimbra.cs.mailbox.Mailbox) ZimbraSoapContext(com.zimbra.soap.ZimbraSoapContext) Folder(com.zimbra.cs.mailbox.Folder) RecordIMAPSessionResponse(com.zimbra.soap.mail.message.RecordIMAPSessionResponse)

Aggregations

RecordIMAPSessionResponse (com.zimbra.soap.mail.message.RecordIMAPSessionResponse)2 ItemIdentifier (com.zimbra.common.mailbox.ItemIdentifier)1 Folder (com.zimbra.cs.mailbox.Folder)1 Mailbox (com.zimbra.cs.mailbox.Mailbox)1 ZimbraSoapContext (com.zimbra.soap.ZimbraSoapContext)1 RecordIMAPSessionRequest (com.zimbra.soap.mail.message.RecordIMAPSessionRequest)1