Examples of MessageResult


Examples of org.apache.james.mailbox.model.MessageResult

    protected void addFlagsResponses(final ImapSession session, final SelectedMailbox selected, final ImapProcessor.Responder responder, boolean useUid, MessageRange messageSet, MessageManager mailbox, MailboxSession mailboxSession) throws MailboxException {

        final MessageResultIterator it = mailbox.getMessages(messageSet, FetchGroupImpl.MINIMAL,  mailboxSession);
        while (it.hasNext()) {
            MessageResult mr = it.next();
            final long uid = mr.getUid();
            int msn = selected.msn(uid);
            if (msn == SelectedMailbox.NO_SUCH_MESSAGE) {
                if (session.getLog().isDebugEnabled()) {
                    session.getLog().debug("No message found with uid " + uid + " in the uid<->msn mapping for mailbox " + selected.getPath().getFullName(mailboxSession.getPathDelimiter()) +" , this may be because it was deleted by a concurrent session. So skip it..");
               
                   

                // skip this as it was not found in the mapping
                //
                // See IMAP-346
                continue;
            }

            boolean qresyncEnabled = EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_QRESYNC);
            boolean condstoreEnabled = EnableProcessor.getEnabledCapabilities(session).contains(ImapConstants.SUPPORTS_CONDSTORE);

            final Flags flags = mr.getFlags();
            final Long uidOut;
            if (useUid || qresyncEnabled) {
                uidOut = uid;
            } else {
                uidOut = null;
            }
            if (selected.isRecent(uid)) {
                flags.add(Flags.Flag.RECENT);
            } else {
                flags.remove(Flags.Flag.RECENT);
            }
            final FetchResponse response;
           
            // Check if we also need to return the MODSEQ in the response. This is true if CONDSTORE or
            // if QRESYNC was enabled, and the mailbox supports the permant storage of mod-sequences
            if ((condstoreEnabled || qresyncEnabled) && mailbox.getMetaData(false, mailboxSession, FetchGroup.NO_COUNT).isModSeqPermanent()) {
                response = new FetchResponse(msn, flags, uidOut, mr.getModSeq(), null, null, null, null, null, null);
            } else {
                response = new FetchResponse(msn, flags, uidOut, null, null, null, null, null, null, null);
            }
            responder.respond(response);
        }
View Full Code Here

Examples of org.apache.james.mailbox.model.MessageResult

        FetchGroup resultToFetch = getFetchGroup(fetch);

        for (int i = 0; i < ranges.size(); i++) {
            MessageResultIterator messages = mailbox.getMessages(ranges.get(i), resultToFetch, mailboxSession);
            while (messages.hasNext()) {
                final MessageResult result = messages.next();
                try {
                    final FetchResponse response = builder.build(fetch, result, mailbox, session, useUids);
                    responder.respond(response);
                } catch (MessageRangeException e) {
                    // we can't for whatever reason find the message so
                    // just skip it and log it to debug
                    if (session.getLog().isDebugEnabled()) {
                        session.getLog().debug("Unable to find message with uid " + result.getUid(), e);
                    }
                } catch (MailboxException e) {
                    // we can't for whatever reason find parse all requested parts of the message. This may because it was deleted while try to access the parts.
                    // So we just skip it
                    //
                    // See IMAP-347
                    if (session.getLog().isDebugEnabled()) {
                        session.getLog().debug("Unable to fetch message with uid " + result.getUid() + ", so skip it", e);
                    }
                }
            }
           
            // Throw the exception if we received one
View Full Code Here

Examples of org.apache.james.mailbox.model.MessageResult

    public MessageResult next() {
        if (next == null || !next.hasNext())
          throw new NoSuchElementException();
       
        final Message<Id> message = next.next();
        MessageResult result;
        try {
            result = ResultUtils.loadMessageResult(message, group);
            cursor = result.getUid();
        } catch (MailboxException e) {
            result = new UnloadedMessageResult<Id>(message, e);
        }

        cursor++;
View Full Code Here

Examples of org.apache.james.mailbox.model.MessageResult

            }
        });

        long i = 1;
        while (it.hasNext()) {
            MessageResult r = it.next();
            Assert.assertEquals(i++, r.getUid());
        }
        Assert.assertEquals(10, i);

    }
View Full Code Here

Examples of org.apache.james.mailbox.model.MessageResult

        try {
            mailboxManager.startProcessingRequest(session);
            Iterator<MessageResult> results = manager.getMessages(MessageRange.all(), METADATA_GROUP, session);
            List<MessageMetaData> mList = new ArrayList<MessageMetaData>();
            while (results.hasNext()) {
                MessageResult result = results.next();
                MessageMetaData metaData = new MessageMetaData(Long.toString(result.getUid()), result.getSize());
                mList.add(metaData);
            }
            return Collections.unmodifiableList(mList);
        } catch (MailboxException e) {
            throw new IOException("Unable to retrieve messages", e);
View Full Code Here

Examples of org.apache.james.mailbox.model.MessageResult

                int j=0;
                Iterator<MessageResult> messageResultIterator = srcMessageManager.getMessages(MessageRange.all(), GROUP, srcMailboxSession);
               
                while (messageResultIterator.hasNext()) {

                    MessageResult messageResult = messageResultIterator.next();
                    InputStreamContent content = (InputStreamContent) messageResult.getFullContent();

                    dstMailboxManager.startProcessingRequest(dstMailboxSession);
                    dstMessageManager.appendMessage(content.getInputStream(), messageResult.getInternalDate(), dstMailboxSession, messageResult.getFlags().contains(Flag.RECENT), messageResult.getFlags());
                    dstMailboxManager.endProcessingRequest(dstMailboxSession);
                    log.info("Message #" + j + " appended in destination mailbox with path=" + mailboxPath.toString());
                    j++;

                }
View Full Code Here

Examples of org.graylog2.restclient.models.api.results.MessageResult

        this.messagesService = messagesService;
    }

    public Result show(String index, String id) {
        try {
            MessageResult message = messagesService.getMessage(index, id);
            Node sourceNode = getSourceNode(message);
            Radio sourceRadio = getSourceRadio(message);

            List<Stream> messageInStreams = Lists.newArrayList();

            for (String streamId : message.getStreamIds()) {
                if (isPermitted(STREAMS_READ, streamId)) {
                    try {
                        messageInStreams.add(streamService.get(streamId));
                    } catch (APIException e) {
                        //  We get a 404 if the stream no longer exists.
View Full Code Here

Examples of org.graylog2.restclient.models.api.results.MessageResult

        }
    }

    public Result partial(String index, String id) {
        try {
            MessageResult message = messagesService.getMessage(index, id);
            Node sourceNode = getSourceNode(message);
            Radio sourceRadio = getSourceRadio(message);
            List<Stream> messageInStreams = Lists.newArrayList();

            for (String streamId : message.getStreamIds()) {
                if (isPermitted(STREAMS_READ, streamId)) {
                    try {
                        messageInStreams.add(streamService.get(streamId));
                    } catch (APIException e) {
                        //  We get a 404 if the stream no longer exists.
View Full Code Here

Examples of org.graylog2.restclient.models.api.results.MessageResult

    }

    public Result single(String index, String id, Boolean filtered) {
        try {

            MessageResult message = messagesService.getMessage(index, id);

            Map<String, Object> result = Maps.newHashMap();
            result.put("id", message.getId());
            result.put("index", message.getIndex());
            if (filtered)
                result.put("fields", message.getFilteredFields());
            else
                result.put("fields", message.getFields());

            return ok(Json.toJson(result));
        } catch (IOException e) {
            return status(500);
        } catch (APIException e) {
View Full Code Here

Examples of org.graylog2.restclient.models.api.results.MessageResult

        }
    }

    public Result analyze(String index, String id, String field) {
        try {
            MessageResult message = messagesService.getMessage(index, id);

            String analyzeField = (String) message.getFilteredFields().get(field);
            if (analyzeField == null || analyzeField.isEmpty()) {
                return status(404, "Message does not have requested field " + field);
            }

            MessageAnalyzeResult result = messagesService.analyze(index, analyzeField);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.