private QueryBuilder generateQueryBuilder(SearchQuery searchQuery) { List<SearchQuery.Criterion> criteria = searchQuery.getCriterias(); if (criteria.isEmpty()) { return criterionConverter.convertCriterion(SearchQuery.all()); } else if (criteria.size() == 1) { return criterionConverter.convertCriterion(criteria.get(0)); } else { return criterionConverter.convertCriterion(new SearchQuery.ConjunctionCriterion(SearchQuery.Conjunction.AND, criteria)); } }
@Override public Iterator<MessageUid> search(SearchQuery query, MailboxSession mailboxSession) throws MailboxException { if (query.equals(new SearchQuery(SearchQuery.all()))) { return listAllMessageUids(mailboxSession); } return index.search(mailboxSession, getMailboxEntity(), query); }
public SelectedMailboxImpl(MailboxManager mailboxManager, ImapSession session, MailboxPath path) throws MailboxException { this.session = session; this.sessionId = ImapSessionUtils.getMailboxSession(session).getSessionId(); this.mailboxManager = mailboxManager; // Ignore events from our session setSilentFlagChanges(true); this.path = path; MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session); uidMsnConverter = new UidMsnConverter(); mailboxManager.addListener(path, this, mailboxSession); MessageManager messageManager = mailboxManager.getMailbox(path, mailboxSession); applicableFlags = messageManager.getApplicableFlags(mailboxSession); uidMsnConverter.addAll(ImmutableList.copyOf( messageManager.search(new SearchQuery(SearchQuery.all()), mailboxSession))); }
@Test public void testALL() throws Exception { expectsGetSelectedMailbox(); check(SearchKey.buildAll(), SearchQuery.all()); }