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);
}
}
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);
}
Aggregations