*
* @param recipient the recipient to check
*/
protected long getUsed(MailAddress recipient, Mail _) throws MessagingException {
long size = 0;
MailboxSession session = manager.createSystemSession(getPrimaryName(recipient.getLocalPart()), new Log() {
public void debug(Object arg0) {
// just consume
}
public void debug(Object arg0, Throwable arg1) {
// just consume
}
public void error(Object arg0) {
log(arg0.toString());
}
public void error(Object arg0, Throwable arg1) {
log(arg0.toString(),arg1);
}
public void fatal(Object arg0) {
log(arg0.toString());
}
public void fatal(Object arg0, Throwable arg1) {
log(arg0.toString(), arg1);
}
public void info(Object arg0) {
log(arg0.toString());
}
public void info(Object arg0, Throwable arg1) {
log(arg0.toString(), arg1);
}
public boolean isDebugEnabled() {
return false;
}
public boolean isErrorEnabled() {
return true;
}
public boolean isFatalEnabled() {
return true;
}
public boolean isInfoEnabled() {
return true;
}
public boolean isTraceEnabled() {
return false;
}
public boolean isWarnEnabled() {
return true;
}
public void trace(Object arg0) {
// just consume
}
public void trace(Object arg0, Throwable arg1) {
// just consume
}
public void warn(Object arg0) {
log(arg0.toString());
}
public void warn(Object arg0, Throwable arg1) {
log(arg0.toString(), arg1);
}
});
manager.startProcessingRequest(session);
MessageManager mailbox = manager.getMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE,
session.getUser().getUserName(), "INBOX"),
session);
Iterator<MessageResult> results = mailbox.getMessages(MessageRange.all(), new FetchGroupImpl(FetchGroup.MINIMAL), session);
while (results.hasNext()) {
size += results.next().getSize();