@Override public void setQuotaSupported(boolean isEnabled) { managers.getImapHostManager().getStore().setQuotaSupported(isEnabled); }
@Override public void purgeEmailFromAllMailboxes() throws FolderException { ImapHostManager imaphost = getManagers().getImapHostManager(); InMemoryStore store = (InMemoryStore) imaphost.getStore(); Collection<MailFolder> mailboxes = store.listMailboxes("*"); for (MailFolder folder : mailboxes) { folder.deleteAllMessages(); } }
@Override protected void doProcess(final ImapRequestLineReader request, final ImapResponse response, final ImapSession session) throws ProtocolException, FolderException, AuthorizationException { if(!session.getHost().getStore().isQuotaSupported()) { response.commandFailed(this,"Quota is not supported. Activate quota capability first"); } String root = parser.mailbox(request); // NAME root (name usage limit) Quota[] quota = session.getHost().getStore().getQuota( root, session.getUser().getQualifiedMailboxName()); for(Quota q: quota) { StringBuilder buf = new StringBuilder(); appendQuota(q, buf); response.untaggedResponse(buf.toString()); } response.commandComplete(this); }
@Override protected void doProcess(final ImapRequestLineReader request, final ImapResponse response, final ImapSession session) throws ProtocolException, FolderException, AuthorizationException { if(!session.getHost().getStore().isQuotaSupported()) { response.commandFailed(this,"Quota is not supported. Activate quota capability first"); } String root = parser.mailbox(request); // QUOTAROOT mailbox Quota[] quota = session.getHost().getStore().getQuota( root, session.getUser().getQualifiedMailboxName()); StringBuilder buf = new StringBuilder("QUOTAROOT "); buf.append(root); for (Quota q : quota) { buf.append(' '); appendQuotaRootName(q, buf); } response.untaggedResponse("QUOTAROOT "+root); for (Quota q : quota) { buf = new StringBuilder(); appendQuota(q, buf); response.untaggedResponse(buf.toString()); } response.commandComplete(this); } }
/** * @see CommandTemplate#doProcess */ @Override protected void doProcess(ImapRequestLineReader request, ImapResponse response, ImapSession session) throws ProtocolException, FolderException { parser.endLine(request); if( session.getHost().getStore().isQuotaSupported()) { response.untaggedResponse(CAPABILITY_RESPONSE + SP + "QUOTA"); } else { response.untaggedResponse(CAPABILITY_RESPONSE); } session.unsolicitedResponses(response); response.commandComplete(this); } }
@Override protected void doProcess(final ImapRequestLineReader request, final ImapResponse response, final ImapSession session) { if(!session.getHost().getStore().isQuotaSupported()) { response.commandFailed(this,"Quota is not supported. Activate quota capability first"); } try { String root = parser.mailbox(request); Quota quota = new Quota(root); parser.consumeChar(request, ' '); parser.consumeChar(request, '('); quota.setResourceLimit(parser.astring(request), parser.consumeLong(request)); char c =request.nextWordChar(); if(')' != c) { quota.setResourceLimit(parser.astring(request), parser.consumeLong(request)); } parser.consumeChar(request, ')'); session.getHost().getStore().setQuota( quota, session.getUser().getQualifiedMailboxName()); response.commandComplete(this); } catch (ProtocolException e) { response.commandFailed(this, "Can not parse command"+e.getMessage()); } } }