You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rc...@apache.org on 2020/03/17 04:52:33 UTC
[james-project] 06/08: [Refactoring] replace loops by removeIf
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 <ma...@apache.org>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org