@Override public Message filter(Message message) { // by default store in Inbox if(message.getLabels().isEmpty()) { message.addLabel(ReservedLabels.INBOX.getId()); // add to POP3 if enabled if (Configurator.isLmtpPop3Enabled()) { logger.debug("Adding message received via LMTP to POP3"); message.addLabel(ReservedLabels.POP3.getId()); } } return message; } }
for(Integer label : oldMessage.getLabels()) { newMessage.addLabel(label);
/** * Get aggregated {@link LabelCounter} stats for each label in the list of * messages. Results aggregated by label ID. * * @return */ public LabelMap aggregateCountersByLabel() { LabelMap labels = new LabelMap(); // get all labels of all messages, including label "all" for (UUID messageId : this.messages.keySet()) { Set<Integer> messageLabels = this.messages.get(messageId).getLabels(); for (int labelId : messageLabels) { if (!labels.containsId(labelId)) { Label label = new Label(labelId). setCounters(this.messages.get(messageId).getLabelCounters()); labels.put(label); } else { labels.get(labelId).getCounters().add( this.messages.get(messageId).getLabelCounters()); } } } return labels; }
for (int labelId : message.getLabels())
if (!message.getLabels().contains(labelId)) { LabelCounterPersistence.add(mutator, mailbox.getId(), labelId, message.getLabelCounters()); if (message.getLabels().contains(labelId)) { LabelCounterPersistence.subtract(mutator, mailbox.getId(), labelId, message.getLabelCounters()); LabelCounterPersistence.subtract(mutator, mailbox.getId(), message.getLabels(), labelCounters); LabelCounterPersistence.add(mutator, mailbox.getId(), message.getLabels(), labelCounters);