Search in sources :

Example 1 with ZMessageHit

use of com.zimbra.client.ZMessageHit in project zm-mailbox by Zimbra.

the class ZMailboxUtil method dumpConvSearch.

private void dumpConvSearch(ZSearchResult sr, boolean verbose) {
    mConvSearchResult = sr;
    if (verbose) {
        stdout.println(sr.dump());
        return;
    }
    int offset = sr.getOffset();
    int first = offset + 1;
    int last = offset + sr.getHits().size();
    stdout.printf("num: %d, more: %s%n%n", sr.getHits().size(), sr.hasMore());
    int width = colWidth(last);
    if (sr.getHits().size() == 0) {
        return;
    }
    int id_len = 4;
    for (ZSearchHit hit : sr.getHits()) {
        id_len = Math.max(id_len, hit.getId().length());
    }
    Calendar c = Calendar.getInstance();
    String headerFormat = String.format("%%%d.%ds  %%%d.%ds  %%-20.20s  %%-50.50s  %%s%%n", width, width, id_len, id_len);
    //String headerFormat = String.format("%10.10s  %-20.20s  %-50.50s  %-6.6s  %s%n");
    String itemFormat = String.format("%%%d.%ds. %%%d.%ds  %%-20.20s  %%-50.50s  %%tD %%<tR%%n", width, width, id_len, id_len);
    //String itemFormat = "%10.10s  %-20.20s  %-50.50s  %-6.6s  %tD %5$tR%n";
    stdout.format(headerFormat, "", "Id", "From", "Subject", "Date");
    stdout.format(headerFormat, "", "----------------------------------------------------------------------------------------------------", "--------------------", "--------------------------------------------------", "--------------");
    int i = first;
    for (ZSearchHit hit : sr.getHits()) {
        if (hit instanceof ZMessageHit) {
            ZMessageHit mh = (ZMessageHit) hit;
            c.setTimeInMillis(mh.getDate());
            String sub = mh.getSubject();
            String from = mh.getSender().getDisplay();
            mIndexToId.put(i, mh.getId());
            stdout.format(itemFormat, i++, mh.getId(), from, sub, c);
        }
    }
    stdout.println();
}
Also used : ZSearchHit(com.zimbra.client.ZSearchHit) Calendar(java.util.Calendar) ZMessageHit(com.zimbra.client.ZMessageHit) ZMountpoint(com.zimbra.client.ZMountpoint)

Example 2 with ZMessageHit

use of com.zimbra.client.ZMessageHit in project zm-mailbox by Zimbra.

the class ZMailboxUtil method dumpSearch.

private void dumpSearch(ZSearchResult sr, boolean verbose) {
    if (verbose) {
        stdout.println(sr.dump());
        return;
    }
    int offset = mSearchPage * mSearchParams.getLimit();
    int first = offset + 1;
    int last = offset + sr.getHits().size();
    stdout.printf("num: %d, more: %s%n%n", sr.getHits().size(), sr.hasMore());
    int width = colWidth(last);
    if (sr.getHits().size() == 0) {
        return;
    }
    final int FROM_LEN = 20;
    int id_len = 4;
    for (ZSearchHit hit : sr.getHits()) {
        id_len = Math.max(id_len, hit.getId().length());
    }
    Calendar cal = Calendar.getInstance();
    String headerFormat = String.format("%%%d.%ds  %%%d.%ds  %%4s   %%-20.20s  %%-50.50s  %%s%%n", width, width, id_len, id_len);
    String itemFormat = String.format("%%%d.%ds. %%%d.%ds  %%4s   %%-20.20s  %%-50.50s  %%tD %%<tR%%n", width, width, id_len, id_len);
    stdout.format(headerFormat, "", "Id", "Type", "From", "Subject", "Date");
    stdout.format(headerFormat, "", "----------------------------------------------------------------------------------------------------", "----", "--------------------", "--------------------------------------------------", "--------------");
    int i = first;
    for (ZSearchHit hit : sr.getHits()) {
        if (hit instanceof ZConversationHit) {
            ZConversationHit ch = (ZConversationHit) hit;
            cal.setTimeInMillis(ch.getDate());
            String sub = ch.getSubject();
            String from = emailAddrs(ch.getRecipients());
            if (ch.getMessageCount() > 1) {
                String numMsg = " (" + ch.getMessageCount() + ")";
                int space = FROM_LEN - numMsg.length();
                from = ((from.length() < space) ? from : from.substring(0, space)) + numMsg;
            }
            //if (ch.getFragment() != null || ch.getFragment().length() > 0)
            //    sub += " (" + ch.getFragment()+")";
            mIndexToId.put(i, ch.getId());
            stdout.format(itemFormat, i++, ch.getId(), "conv", from, sub, cal);
        } else if (hit instanceof ZContactHit) {
            ZContactHit ch = (ZContactHit) hit;
            cal.setTimeInMillis(ch.getDate());
            String from = getFirstEmail(ch);
            String sub = ch.getFileAsStr();
            mIndexToId.put(i, ch.getId());
            stdout.format(itemFormat, i++, ch.getId(), "cont", from, sub, cal);
        } else if (hit instanceof ZMessageHit) {
            ZMessageHit mh = (ZMessageHit) hit;
            cal.setTimeInMillis(mh.getDate());
            String sub = mh.getSubject();
            String from = mh.getSender() == null ? "<none>" : mh.getSender().getDisplay();
            mIndexToId.put(i, mh.getId());
            stdout.format(itemFormat, i++, mh.getId(), "mess", from, sub, cal);
        } else if (hit instanceof ZAppointmentHit) {
            ZAppointmentHit ah = (ZAppointmentHit) hit;
            if (ah.getInstanceExpanded()) {
                cal.setTimeInMillis(ah.getStartTime());
            } else {
                cal.setTimeInMillis(ah.getHitDate());
            }
            String sub = ah.getName();
            String from = "<na>";
            mIndexToId.put(i, ah.getId());
            stdout.format(itemFormat, i++, ah.getId(), ah.getIsTask() ? "task" : "appo", from, sub, cal);
        } else if (hit instanceof ZDocumentHit) {
            ZDocumentHit dh = (ZDocumentHit) hit;
            ZDocument doc = dh.getDocument();
            cal.setTimeInMillis(doc.getModifiedDate());
            String name = doc.getName();
            String editor = doc.getEditor();
            mIndexToId.put(i, dh.getId());
            stdout.format(itemFormat, i++, dh.getId(), doc.isWiki() ? "wiki" : "doc", editor, name, cal);
        }
    }
    stdout.println();
}
Also used : ZSearchHit(com.zimbra.client.ZSearchHit) ZAppointmentHit(com.zimbra.client.ZAppointmentHit) ZContactHit(com.zimbra.client.ZContactHit) ZDocument(com.zimbra.client.ZDocument) Calendar(java.util.Calendar) ZMessageHit(com.zimbra.client.ZMessageHit) ZConversationHit(com.zimbra.client.ZConversationHit) ZMountpoint(com.zimbra.client.ZMountpoint) ZDocumentHit(com.zimbra.client.ZDocumentHit)

Example 3 with ZMessageHit

use of com.zimbra.client.ZMessageHit in project zm-mailbox by Zimbra.

the class TestDraftCount method deleteFromQuery.

private void deleteFromQuery(String query) throws Exception {
    //delete all messages currently in drafts folder
    ZSearchParams params = new ZSearchParams(query);
    params.setTypes("message");
    params.setOffset(0);
    ZSearchResult results = mbox.search(params);
    for (ZSearchHit hit : results.getHits()) {
        ZMessageHit msg = (ZMessageHit) hit;
        mbox.deleteMessage(hit.getId());
    }
}
Also used : ZSearchResult(com.zimbra.client.ZSearchResult) ZSearchHit(com.zimbra.client.ZSearchHit) ZSearchParams(com.zimbra.client.ZSearchParams) ZMessageHit(com.zimbra.client.ZMessageHit)

Example 4 with ZMessageHit

use of com.zimbra.client.ZMessageHit in project zm-mailbox by Zimbra.

the class TestSearchConv method isExpanded.

private boolean isExpanded(ZSearchHit hit) {
    //expanded hits include the message object, non-expanded don't
    ZMessage msg = ((ZMessageHit) hit).getMessage();
    boolean expanded = msg != null;
    return expanded;
}
Also used : ZMessage(com.zimbra.client.ZMessage) ZMessageHit(com.zimbra.client.ZMessageHit)

Aggregations

ZMessageHit (com.zimbra.client.ZMessageHit)4 ZSearchHit (com.zimbra.client.ZSearchHit)3 ZMountpoint (com.zimbra.client.ZMountpoint)2 Calendar (java.util.Calendar)2 ZAppointmentHit (com.zimbra.client.ZAppointmentHit)1 ZContactHit (com.zimbra.client.ZContactHit)1 ZConversationHit (com.zimbra.client.ZConversationHit)1 ZDocument (com.zimbra.client.ZDocument)1 ZDocumentHit (com.zimbra.client.ZDocumentHit)1 ZMessage (com.zimbra.client.ZMessage)1 ZSearchParams (com.zimbra.client.ZSearchParams)1 ZSearchResult (com.zimbra.client.ZSearchResult)1