This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 413e5b54d1e0c8792516625e6320bdb104f428e1 Author: Matthieu Baechler <[email protected]> AuthorDate: Fri Feb 28 18:08:51 2020 +0100 [Refactoring] replace loops by removeIf --- .../inmemory/mail/InMemoryMessageMapper.java | 6 +----- .../store/mail/model/impl/PropertyBuilder.java | 22 +++------------------- .../james/transport/mailets/RemoveMimeHeader.java | 12 +++--------- .../mailets/RemoveMimeHeaderByPrefix.java | 14 ++++---------- 4 files changed, 11 insertions(+), 43 deletions(-) diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java index e2c991c..191266f 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java @@ -128,11 +128,7 @@ public class InMemoryMessageMapper extends AbstractMessageMapper { @Override public Iterator<MailboxMessage> findInMailbox(Mailbox mailbox, MessageRange set, FetchType ftype, int max) { List<MailboxMessage> results = new ArrayList<>(getMembershipByUidForMailbox(mailbox).values()); - for (Iterator<MailboxMessage> it = results.iterator(); it.hasNext();) { - if (!set.includes(it.next().getUid())) { - it.remove(); - } - } + results.removeIf(mailboxMessage -> !set.includes(mailboxMessage.getUid())); Collections.sort(results); diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java index 1a59241..90d5192 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java @@ -41,7 +41,6 @@ import static org.apache.james.mailbox.store.mail.model.StandardNames.MIME_MIME_ import static org.apache.james.mailbox.store.mail.model.StandardNames.MIME_SUB_TYPE_NAME; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; @@ -138,12 +137,7 @@ public class PropertyBuilder { * @param value null to remove property */ public void setProperty(String namespace, String localName, String value) { - for (Iterator<Property> it = properties.iterator();it.hasNext();) { - final Property property = it.next(); - if (property.isNamed(namespace, localName)) { - it.remove(); - } - } + properties.removeIf(property -> property.isNamed(namespace, localName)); if (value != null) { properties.add(new Property(namespace, localName, value)); @@ -157,12 +151,7 @@ public class PropertyBuilder { * @param values null to remove property */ public void setProperty(String namespace, String localName, List<String> values) { - for (Iterator<Property> it = properties.iterator();it.hasNext();) { - final Property property = it.next(); - if (property.isNamed(namespace, localName)) { - it.remove(); - } - } + properties.removeIf(property -> property.isNamed(namespace, localName)); if (values != null) { for (String value:values) { properties.add(new Property(namespace, localName, value)); @@ -193,12 +182,7 @@ public class PropertyBuilder { * @param valuesByLocalName not null */ public void setProperties(String namespace, Map<String,String> valuesByLocalName) { - for (Iterator<Property> it = properties.iterator();it.hasNext();) { - final Property property = it.next(); - if (property.isInSpace(namespace)) { - it.remove(); - } - } + properties.removeIf(property -> property.isInSpace(namespace)); for (Map.Entry<String, String> valueByLocalName:valuesByLocalName.entrySet()) { properties.add(new Property(namespace, valueByLocalName.getKey().toLowerCase(Locale.US), valueByLocalName.getValue())); } diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java index c728237..801e706 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeader.java @@ -19,7 +19,6 @@ package org.apache.james.transport.mailets; -import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -28,7 +27,6 @@ import javax.mail.internet.MimeMessage; import org.apache.mailet.Mail; import org.apache.mailet.MailetException; -import org.apache.mailet.PerRecipientHeaders.Header; import org.apache.mailet.base.GenericMailet; import com.google.common.base.Splitter; @@ -81,13 +79,9 @@ public class RemoveMimeHeader extends GenericMailet { .stream() .collect(Collectors.toList()) // Streaming for concurrent modifications .forEach(recipient -> { - Iterator<Header> it = mail.getPerRecipientSpecificHeaders().getHeadersForRecipient(recipient).iterator(); - while (it.hasNext()) { - Header next = it.next(); - if (headers.contains(next.getName())) { - it.remove(); - } - } + mail.getPerRecipientSpecificHeaders() + .getHeadersForRecipient(recipient) + .removeIf(next -> headers.contains(next.getName())); }); } } diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeaderByPrefix.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeaderByPrefix.java index 0118e4d..131c32c 100644 --- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeaderByPrefix.java +++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/RemoveMimeHeaderByPrefix.java @@ -20,7 +20,6 @@ package org.apache.james.transport.mailets; -import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -82,15 +81,10 @@ public class RemoveMimeHeaderByPrefix extends GenericMailet { mail.getPerRecipientSpecificHeaders().getRecipientsWithSpecificHeaders() .stream() .collect(Collectors.toList()) // Streaming for concurrent modifications - .forEach(recipient -> { - Iterator<org.apache.mailet.PerRecipientHeaders.Header> it = mail.getPerRecipientSpecificHeaders().getHeadersForRecipient(recipient).iterator(); - while (it.hasNext()) { - org.apache.mailet.PerRecipientHeaders.Header next = it.next(); - if (next.getName().startsWith(prefix)) { - it.remove(); - } - } - }); + .forEach(recipient -> + mail.getPerRecipientSpecificHeaders() + .getHeadersForRecipient(recipient) + .removeIf(next -> next.getName().startsWith(prefix))); } private List<String> headerNamesStartingByPrefix(Mail mail) throws MessagingException { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
