private MessageUid msnlowValToUid(SelectedMailbox selected, long lowVal) throws MessageRangeException { Optional<MessageUid> uid; if (lowVal != Long.MIN_VALUE) { uid = selected.uid((int) lowVal); if (!uid.isPresent()) { throw new MessageRangeException("No message found with msn " + lowVal); } } else { uid = selected.getFirstUid(); if (!uid.isPresent()) { throw new MessageRangeException("Mailbox is empty"); } } return uid.get(); }
private MessageUid msnHighValToUid(SelectedMailbox selected, long highVal) throws MessageRangeException { Optional<MessageUid> uid; if (highVal != Long.MAX_VALUE) { uid = selected.uid((int) highVal); if (!uid.isPresent()) { throw new MessageRangeException("No message found with msn " + highVal); } } else { uid = selected.getLastUid(); if (!uid.isPresent()) { throw new MessageRangeException("Mailbox is empty"); } } return uid.get(); }
private MessageRange msnRangeToMessageRange(SelectedMailbox selected, long lowVal, long highVal) throws MessageRangeException { // Take care of "*" and "*:*" values by return the last message in // the mailbox. See IMAP-289 if (lowVal == Long.MAX_VALUE && highVal == Long.MAX_VALUE) { Optional<MessageUid> last = selected.getLastUid(); if (!last.isPresent()) { throw new MessageRangeException("Mailbox is empty"); } return last.get().toRange(); } MessageUid lowUid = msnlowValToUid(selected, lowVal); MessageUid highUid = msnHighValToUid(selected, highVal); return MessageRange.range(lowUid, highUid); }
highVal = selected.getLastUid(); if (highVal == SelectedMailbox.NO_SUCH_MESSAGE) { throw new MessageRangeException("Mailbox is empty"); lowVal = selected.uid((int) lowVal); if (lowVal == SelectedMailbox.NO_SUCH_MESSAGE) throw new MessageRangeException("No message found with msn " + lowVal); } else { lowVal = selected.getFirstUid(); if (lowVal == SelectedMailbox.NO_SUCH_MESSAGE) { throw new MessageRangeException("Mailbox is empty"); highVal = selected.uid((int) highVal); if (highVal == SelectedMailbox.NO_SUCH_MESSAGE) throw new MessageRangeException("No message found with msn " + highVal); } else { highVal = selected.getLastUid(); if (highVal == SelectedMailbox.NO_SUCH_MESSAGE) { throw new MessageRangeException("Mailbox is empty");
return MessageRange.range(start, end); default: throw new MessageRangeException("Unknown message range type: " + rangeType);
throw new MessageRangeException("No such message found with uid " + resultUid);
return MessageRange.range(start, end); default: throw new MessageRangeException("Unknown message range type: " + rangeType);
throw new MessageRangeException("No such message found with uid " + resultUid);