Examples of JCRMessage


Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

            Query query = manager.createQuery(queryString, Query.XPATH);
            QueryResult result = query.execute();
           
            NodeIterator iterator = result.getNodes();
            while(iterator.hasNext()) {
                list.add(new JCRMessage(iterator.nextNode(), mailboxSession.getLog()).getUid());
            }
            return list;

        } catch (RepositoryException e) {
            throw new MailboxException("Unable to search recent messages in mailbox " + mailbox, e);
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

            query.setLimit(1);
            QueryResult result = query.execute();

            NodeIterator iterator = result.getNodes();
            if(iterator.hasNext()) {
                return new JCRMessage(iterator.nextNode(), mailboxSession.getLog()).getUid();
            } else {
                return null;
            }
        } catch (RepositoryException e) {
            throw new MailboxException("Unable to find first unseen message in mailbox " + mailbox, e);
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

            node.setProperty(JCRMessage.UID_PROPERTY, uid);
            node.setProperty(JCRMessage.MODSEQ_PROPERTY, modSeq);
            // A copy of a message is recent
            // See MAILBOX-85
            node.setProperty(JCRMessage.RECENT_PROPERTY, true);
            return new SimpleMessageMetaData(new JCRMessage(node, mailboxSession.getLog()));
        } catch (RepositoryException e) {
            throw new MailboxException("Unable to copy message " +original + " in mailbox " + mailbox, e);
        }       
    }
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

        }       
    }

    @Override
    protected MessageMetaData save(Mailbox<String> mailbox, Message<String> message) throws MailboxException {
        final JCRMessage membership = (JCRMessage) message;
        try {

            Node messageNode = null;

            if (membership.isPersistent()) {
                messageNode = getSession().getNodeByIdentifier(membership.getId());
            }

            if (messageNode == null) {
              
                Date date = message.getInternalDate();
                if (date == null) {
                    date = new Date();
                }

                // extracte the date from the message to create node structure
                // later
                Calendar cal = Calendar.getInstance();
                cal.setTime(date);
                final String year = convertIntToString(cal.get(Calendar.YEAR));
                final String month = convertIntToString(cal.get(Calendar.MONTH) + 1);
                final String day = convertIntToString(cal.get(Calendar.DAY_OF_MONTH));
                final String hour = convertIntToString(cal.get(Calendar.HOUR_OF_DAY));
                final String min = convertIntToString(cal.get(Calendar.MINUTE));

                Node mailboxNode = getSession().getNodeByIdentifier(mailbox.getMailboxId());
                Node node = mailboxNode;

                if (scaleType > MESSAGE_SCALE_NONE) {
                    // we lock the whole mailbox with all its childs while
                    // adding the folder structure for the date

                    if (scaleType >= MESSAGE_SCALE_YEAR) {
                        node = JcrUtils.getOrAddFolder(node, year);

                        if (scaleType >= MESSAGE_SCALE_MONTH) {
                            node = JcrUtils.getOrAddFolder(node, month);

                            if (scaleType >= MESSAGE_SCALE_DAY) {
                                node = JcrUtils.getOrAddFolder(node, day);

                                if (scaleType >= MESSAGE_SCALE_HOUR) {
                                    node = JcrUtils.getOrAddFolder(node, hour);

                                    if (scaleType >= MESSAGE_SCALE_MINUTE) {
                                        node = JcrUtils.getOrAddFolder(node, min);
                                    }
                                }
                            }
                        }
                    }

                }

                long uid = membership.getUid();
                messageNode = mailboxNode.addNode(String.valueOf(uid), "nt:file");
                messageNode.addMixin("jamesMailbox:message");
                try {
                    membership.merge(messageNode);

                } catch (IOException e) {
                    throw new RepositoryException("Unable to merge message in to tree", e);
                }               
            } else {
                membership.merge(messageNode);
            }
            return new SimpleMessageMetaData(membership);
        } catch (RepositoryException e) {
            throw new MailboxException("Unable to save message " + message + " in mailbox " + mailbox, e);
        } catch (IOException e) {
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

    protected Message<String> createMessage(long uid, Date internalDate, int size, int bodyStartOctet, InputStream document, Flags flags, List<Header> headers, PropertyBuilder propertyBuilder) throws MailboxException{
        final List<JCRHeader> jcrHeaders = new ArrayList<JCRHeader>(headers.size());
        for (Header header: headers) {
            jcrHeaders.add((JCRHeader) header);
        }
        final Message<String> message = new JCRMessage(getMailboxEntity().getMailboxId(), uid, internalDate,
                size, flags, document, bodyStartOctet, jcrHeaders, propertyBuilder, log);
        return message;
    }
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

    /*
     * (non-Javadoc)
     * @see org.apache.james.mailbox.store.mail.MessageMapper#delete(org.apache.james.mailbox.store.mail.model.Mailbox, org.apache.james.mailbox.store.mail.model.Message)
     */
    public void delete(Mailbox<String> mailbox, Message<String> message) throws MailboxException {
        JCRMessage membership = (JCRMessage) message;
        if (membership.isPersistent()) {
            try {

                getSession().getNodeByIdentifier(membership.getId()).remove();
            } catch (RepositoryException e) {
                throw new MailboxException("Unable to delete message " + message + " in mailbox " + mailbox, e);
            }
        }
    }
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

          query.setLimit(batchSize);
        QueryResult result = query.execute();

        NodeIterator iterator = result.getNodes();
        while (iterator.hasNext()) {
            list.add(new JCRMessage(iterator.nextNode(), getLogger()));
        }
        return list;
    }
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

        Query query = manager.createQuery(queryString, Query.XPATH);
        query.setLimit(1);
        QueryResult result = query.execute();
        NodeIterator iterator = result.getNodes();
        while (iterator.hasNext()) {
            list.add(new JCRMessage(iterator.nextNode(), getLogger()));
        }
        return list;
    }
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

          query.setLimit(batchSize);
        QueryResult result = query.execute();

        NodeIterator iterator = result.getNodes();
        while (iterator.hasNext()) {
            list.add(new JCRMessage(iterator.nextNode(), getLogger()));
        }
        return list;
    }
View Full Code Here

Examples of org.apache.james.mailbox.jcr.mail.model.JCRMessage

          query.setLimit(batchSize);
        QueryResult result = query.execute();

        NodeIterator iterator = result.getNodes();
        while (iterator.hasNext()) {
            list.add(new JCRMessage(iterator.nextNode(), getLogger()));
        }
        return list;
    }
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.