Examples of LabelMap


Examples of com.elasticinbox.core.model.LabelMap

   * @throws IOException
   */
  protected static Pair<LabelMap, Map<Integer, List<UUID>>> populateMailbox() throws IOException
  {
    Map<Integer, List<UUID>> messages = new HashMap<Integer, List<UUID>>();
    LabelMap labels = new LabelMap();
    LabelCounters inboxCounters = new LabelCounters();
    LabelCounters notifCounters = new LabelCounters();
    LabelCounters trashCounters = new LabelCounters();
    LabelCounters spamCounters = new LabelCounters();

    // INBOX: add 5 messages, mark 2 as unread
    messages.put(ReservedLabels.INBOX.getId(), new ArrayList<UUID>());
    List<UUID> inboxMessages = messages.get(ReservedLabels.INBOX.getId());
    inboxMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.INBOX.getId()));
    inboxMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.INBOX.getId()));
    inboxMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.INBOX.getId()));
    inboxMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.INBOX.getId()));
    inboxMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.INBOX.getId()));
    markAsRead(inboxMessages.get(3));
    markAsRead(inboxMessages.get(4));
    inboxCounters.setTotalMessages(5L);
    inboxCounters.setUnreadMessages(3L);
    labels.put(ReservedLabels.INBOX);
    labels.get(ReservedLabels.INBOX.getId()).setCounters(inboxCounters);

    // NOTIFICATIONS: add 3 messages, mark 1 as read
    messages.put(ReservedLabels.NOTIFICATIONS.getId(), new ArrayList<UUID>());
    List<UUID> notifMessages = messages.get(ReservedLabels.NOTIFICATIONS.getId());
    notifMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.NOTIFICATIONS.getId()));
    notifMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.NOTIFICATIONS.getId()));
    notifMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.NOTIFICATIONS.getId()));
    markAsRead(notifMessages.get(1));
    notifCounters.setTotalMessages(3L);
    notifCounters.setUnreadMessages(2L);
    labels.put(ReservedLabels.NOTIFICATIONS);
    labels.get(ReservedLabels.NOTIFICATIONS.getId()).setCounters(notifCounters);

    // SPAM: add 5 messages, keep all unread
    messages.put(ReservedLabels.SPAM.getId(), new ArrayList<UUID>());
    List<UUID> spamMessages = messages.get(ReservedLabels.SPAM.getId());
    spamMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.SPAM.getId()));
    spamMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.SPAM.getId()));
    spamMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.SPAM.getId()));
    spamMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.SPAM.getId()));
    spamMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.SPAM.getId()));
    spamCounters.setTotalMessages(5L);
    spamCounters.setUnreadMessages(5L);
    labels.put(ReservedLabels.SPAM);
    labels.get(ReservedLabels.SPAM.getId()).setCounters(spamCounters);

    // TRASH: add 4 messages, mark 2 as read
    messages.put(ReservedLabels.TRASH.getId(), new ArrayList<UUID>());
    List<UUID> trashMessages = messages.get(ReservedLabels.TRASH.getId());
    trashMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.TRASH.getId()));
    trashMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.TRASH.getId()));
    trashMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.TRASH.getId()));
    trashMessages.add(addMessage(EMAIL_REGULAR, ReservedLabels.TRASH.getId()));
    markAsRead(trashMessages.get(0));
    markAsRead(trashMessages.get(2));
    trashCounters.setTotalMessages(4L);
    trashCounters.setUnreadMessages(2L);
    labels.put(ReservedLabels.TRASH);
    labels.get(ReservedLabels.TRASH.getId()).setCounters(trashCounters);

    return Pair.of(labels, messages);
  }
View Full Code Here

Examples of com.elasticinbox.core.model.LabelMap

   * @param mailbox
   */
  public static void deleteIndexes(Mutator<String> mutator, final String mailbox)
  {
    // get all labels
    LabelMap labels = AccountPersistence.getLabels(mailbox);

    for (Integer labelId : labels.getIds()) {
      deleteIndex(mutator, mailbox, labelId);
    }

    // delete purge index
    String key = getLabelKey(mailbox, PurgeIndexPersistence.PURGE_LABEL_ID);
View Full Code Here

Examples of com.elasticinbox.core.model.LabelMap

   * @param mailbox
   * @return
   */
  public static LabelMap getLabels(final String mailbox)
  {
    LabelMap labels = new LabelMap();

    // get list of user specific labels from Cassandra
    Map<String, Object> attributes = getAll(mailbox);

    // add user specific labels
    for (Map.Entry<String, Object> a : attributes.entrySet())
    {
      if (a.getKey().startsWith(CN_LABEL_NAME_PREFIX))
      {
        // set label name
        Integer labelId = Integer.parseInt(a.getKey().split(CN_SEPARATOR)[1]);
        String labelName = (String) a.getValue();
       
        if (labels.containsId(labelId)) {
          labels.get(labelId).setName(labelName);
        } else {
          Label label = new Label(labelId, labelName);
          labels.put(label);
        }
      }
      else if (a.getKey().startsWith(CN_LABEL_ATTRIBUTE_PREFIX))
      {
        // set label custom attribute
        String[] attrKeys = a.getKey().split(CN_SEPARATOR);
        Integer labelId = Integer.parseInt(attrKeys[1]);
        String attrName = attrKeys[2];
        String attrValue = (String) a.getValue();
       
        if (labels.containsId(labelId)) {
          labels.get(labelId).addAttribute(attrName, attrValue);
        } else {
          Label label = new Label(labelId);
          label.addAttribute(attrName, attrValue);
          labels.put(label);
        }
      }
    }

    // add default reserved labels
    for (Label l : ReservedLabels.getAll())
    {
      Label label = new Label(l.getId(), l.getName());
      labels.put(label);
    }

    return labels;
  }
View Full Code Here

Examples of com.elasticinbox.core.model.LabelMap

      @PathParam("user") final String user,
      @PathParam("domain") final String domain)
  {
    Mailbox mailbox = new Mailbox(user, domain);

    LabelMap calculatedCounters = messageDAO.scrub(mailbox, false);
    labelDAO.setCounters(mailbox, calculatedCounters);

    return Response.noContent().build();
  }
View Full Code Here

Examples of com.elasticinbox.core.model.LabelMap

      @PathParam("user") final String user,
      @PathParam("domain") final String domain)
  {
    Mailbox mailbox = new Mailbox(user, domain);

    LabelMap calculatedCounters = messageDAO.scrub(mailbox, true);
    labelDAO.setCounters(mailbox, calculatedCounters);

    return Response.noContent().build();
  }
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.