Package com.elasticinbox.core

Examples of com.elasticinbox.core.MessageDAO


    Mailbox mailbox = new Mailbox(MAILBOX);

    Message message = getDummyMessage();
    message.addLabel(ReservedLabels.NOTIFICATIONS.getId());

    MessageDAO messageDAO = dao.getMessageDAO();
    List<UUID> validMessageIds = new ArrayList<UUID>();
    List<UUID> invalidMessageIds = new ArrayList<UUID>();

    // save message under different message ids, and store message ids
    for (int i=0; i<5; i++) {
      UUID messageId = new MessageIdBuilder().build();
      validMessageIds.add(messageId);
      messageDAO.put(mailbox, messageId, message, null);
    }
   
    // generate stale message ids
    for (int i=0; i<5; i++) {
      UUID messageId = new MessageIdBuilder().build();
      invalidMessageIds.add(messageId);
    }

    // add stale message ids to indexes only (without message metadata)
    Mutator<String> m = createMutator(keyspace, strSe);
    LabelIndexPersistence.add(m, mailbox.getId(), invalidMessageIds, message.getLabels());
    m.execute();

    // get all messages from NOTIFICATION label
    List<UUID> allMessageIds = messageDAO.getMessageIds(mailbox,
        ReservedLabels.NOTIFICATIONS.getId(), new MessageIdBuilder().build(), 100, true);

    // check if all message ids returned
    assertTrue(allMessageIds.containsAll(validMessageIds));
    assertTrue(allMessageIds.containsAll(invalidMessageIds));
   
    // delete all message ids
    messageDAO.delete(mailbox, allMessageIds);

    // get all messages from NOTIFICATION label
    allMessageIds = messageDAO.getMessageIds(mailbox,
        ReservedLabels.NOTIFICATIONS.getId(), new MessageIdBuilder().build(), 100, true);

    // check if all message ids deleted
    assertEquals(0, allMessageIds.size());
  }
View Full Code Here


    if(ReservedLabels.contains(labelId)) {
      throw new IllegalLabelException("This is reserved label and can't be modified");
    }

    // get message DAO object
    MessageDAO messageDAO = new CassandraMessageDAO(keyspace);

    List<UUID> messageIds = null;
    Set<Integer> labelIds = new HashSet<Integer>(1);
    labelIds.add(labelId);

    // loop until we delete all items
    do {
      // get message ids of label
      messageIds = LabelIndexPersistence.get(mailbox.getId(), labelId,
          null, BatchConstants.BATCH_READS, false);

      // remove label from message metadata
      messageDAO.modify(mailbox, messageIds,
          new MessageModification.Builder().removeLabels(labelIds).build());
    }
    while (messageIds.size() >= BatchConstants.BATCH_READS);

    // begin batch operation
View Full Code Here

  @Override
  public void delete(final Mailbox mailbox) throws IOException
  {
    // purge all previously deleted objects
    // TODO: we should not instantiate here
    MessageDAO messageDAO = new CassandraMessageDAO(keyspace);
    messageDAO.purge(mailbox, new Date());

    // delete all objects from object store
    try {
      List<UUID> messageIds = null;
      UUID start = null;
View Full Code Here

TOP

Related Classes of com.elasticinbox.core.MessageDAO

Copyright © 2018 www.massapicom. 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.