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 bt...@apache.org on 2019/09/20 12:10:30 UTC
[james-project] 11/15: JAMES-2894 Automatic refactoring of Java 7
code:
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit f0d6ab3d183a28fee66da4f44e7c9fb8232edaa3
Author: Matthieu Baechler <ma...@apache.org>
AuthorDate: Mon Sep 9 18:39:07 2019 +0200
JAMES-2894 Automatic refactoring of Java 7 code:
* generics can omit the actual type when instanciating
* use switch/case on strings
* use Objects for equals/hashcode
* use try-with-resources
* avoid using Enumeration
---
.../apache/james/mailbox/model/UpdatedFlags.java | 19 +++------
.../james/mailbox/maildir/MaildirFolder.java | 3 +-
.../mailbox/maildir/mail/model/MaildirMessage.java | 12 +-----
.../james/vault/search/DeletedMessageField.java | 14 +++----
.../store/mail/model/impl/SimpleProperty.java | 18 ++++-----
.../org/apache/james/ai/classic/SqlResources.java | 2 +-
.../transport/mailets/AmqpForwardAttribute.java | 14 +------
.../matchers/CompareNumericHeaderValue.java | 46 ++++++++++++----------
.../james/transport/matchers/FileRegexMatcher.java | 21 +++-------
.../james/imap/decode/ImapRequestLineReader.java | 29 ++++----------
.../main/OutputStreamImapResponseWriter.java | 10 +----
.../james/imap/message/response/ACLResponse.java | 9 ++---
.../imap/message/response/ListRightsResponse.java | 12 +++---
.../imap/message/response/MyRightsResponse.java | 10 ++---
.../imap/message/response/QuotaRootResponse.java | 10 ++---
.../imap/encode/base/ByteImapResponseWriter.java | 11 +-----
.../protocols/smtp/AbstractSMTPServerTest.java | 9 +----
.../james/server/core/MimeMessageSource.java | 15 ++-----
.../james/onami/lifecycle/DefaultStager.java | 2 +-
.../lifecycle/osgi/OSGIConfigurationProvider.java | 13 +-----
.../JMXEnabledScheduledThreadPoolExecutor.java | 2 +-
.../concurrent/JMXEnabledThreadPoolExecutor.java | 2 +-
.../org/apache/james/util/sql/SqlResources.java | 2 +-
.../mailrepository/file/FileMailRepository.java | 2 +-
.../sieverepository/file/SieveFileRepository.java | 32 ++-------------
.../mailrepository/jdbc/MimeMessageJDBCSource.java | 13 ++----
.../lib/AbstractStateCompositeProcessor.java | 2 +-
.../lib/AbstractStateMailetProcessor.java | 2 +-
.../transcode/MessageToCoreToMessage.java | 8 +---
.../java/org/apache/james/fetchmail/FetchMail.java | 5 +--
.../draft/methods/SetMailboxesUpdateProcessor.java | 7 +---
...nabledOrderedMemoryAwareThreadPoolExecutor.java | 2 +-
.../apache/james/smtpserver/SPFHandlerTest.java | 43 ++++++++++----------
33 files changed, 138 insertions(+), 263 deletions(-)
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
index 4be5e6a..b6690d2 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java
@@ -21,13 +21,13 @@ package org.apache.james.mailbox.model;
import java.util.Arrays;
import java.util.Iterator;
+import java.util.Objects;
import java.util.Optional;
import javax.mail.Flags;
import org.apache.james.mailbox.MessageUid;
import com.google.common.base.MoreObjects;
-import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
/**
@@ -240,22 +240,15 @@ public class UpdatedFlags {
UpdatedFlags that = (UpdatedFlags) other;
- if (!uid.equals(that.uid)) {
- return false;
- }
- if (modSeq != that.modSeq) {
- return false;
- }
- if (oldFlags != null ? !oldFlags.equals(that.oldFlags) : that.oldFlags != null) {
- return false;
- }
- return !(newFlags != null ? !newFlags.equals(that.newFlags) : that.newFlags != null);
-
+ return Objects.equals(uid, that.uid) &&
+ Objects.equals(oldFlags, that.oldFlags) &&
+ Objects.equals(newFlags, that.newFlags) &&
+ Objects.equals(modSeq, that.modSeq);
}
@Override
public int hashCode() {
- return Objects.hashCode(uid, oldFlags, newFlags, modSeq);
+ return Objects.hash(uid, oldFlags, newFlags, modSeq);
}
@Override
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
index ec87d3c..e1d19a2 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
@@ -34,6 +34,7 @@ import java.util.LinkedList;
import java.util.Map;
import java.util.Map.Entry;
import java.util.NoSuchElementException;
+import java.util.Objects;
import java.util.Optional;
import java.util.Properties;
import java.util.SortedMap;
@@ -965,7 +966,7 @@ public class MaildirFolder {
public void setACL(MailboxSession session, MailboxACL acl) throws MailboxException {
MailboxACL old = this.acl;
- if (old != acl && (old == null || !old.equals(acl))) {
+ if (!Objects.equals(old, acl)) {
/* change only if different */
saveACL(acl, session);
this.acl = acl;
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
index 2e2e7f2..a9e37b6 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/model/MaildirMessage.java
@@ -65,9 +65,7 @@ public class MaildirMessage implements Message {
if (parsed) {
return;
}
- SharedFileInputStream tmpMsgIn = null;
- try {
- tmpMsgIn = new SharedFileInputStream(messageName.getFile());
+ try (SharedFileInputStream tmpMsgIn = new SharedFileInputStream(messageName.getFile())) {
bodyStartOctet = bodyStartOctet(tmpMsgIn);
@@ -138,13 +136,7 @@ public class MaildirMessage implements Message {
// has successfully been parsen when appending, shouldn't give any
// problems
} finally {
- if (tmpMsgIn != null) {
- try {
- tmpMsgIn.close();
- } catch (IOException e) {
- // ignore on close
- }
- }
+ // ignore on close
parsed = true;
}
}
diff --git a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/DeletedMessageField.java b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/DeletedMessageField.java
index cc1bddc..76b6f7c 100644
--- a/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/DeletedMessageField.java
+++ b/mailbox/plugin/deleted-messages-vault/src/main/java/org/apache/james/vault/search/DeletedMessageField.java
@@ -65,12 +65,12 @@ public class DeletedMessageField<T> {
ValueExtractor<String> SUBJECT_EXTRACTOR = DeletedMessage::getSubject;
}
- static final DeletedMessageField<ZonedDateTime> DELETION_DATE = new DeletedMessageField<ZonedDateTime>(FieldName.DELETION_DATE, DELETION_DATE_EXTRACTOR);
- static final DeletedMessageField<ZonedDateTime> DELIVERY_DATE = new DeletedMessageField<ZonedDateTime>(FieldName.DELIVERY_DATE, DELIVERY_DATE_EXTRACTOR);
- static final DeletedMessageField<Collection<MailAddress>> RECIPIENTS = new DeletedMessageField<Collection<MailAddress>>(FieldName.RECIPIENTS, RECIPIENTS_EXTRACTOR);
- static final DeletedMessageField<MailAddress> SENDER = new DeletedMessageField<MailAddress>(FieldName.SENDER, SENDER_EXTRACTOR);
- static final DeletedMessageField<Boolean> HAS_ATTACHMENT = new DeletedMessageField<Boolean>(FieldName.HAS_ATTACHMENT, HAS_ATTACHMENT_EXTRACTOR);
- static final DeletedMessageField<Collection<MailboxId>> ORIGIN_MAILBOXES = new DeletedMessageField<Collection<MailboxId>>(FieldName.ORIGIN_MAILBOXES, ORIGIN_MAILBOXES_EXTRACTOR);
- static final DeletedMessageField<String> SUBJECT = new DeletedMessageField<String>(FieldName.SUBJECT, SUBJECT_EXTRACTOR);
+ static final DeletedMessageField<ZonedDateTime> DELETION_DATE = new DeletedMessageField<>(FieldName.DELETION_DATE, DELETION_DATE_EXTRACTOR);
+ static final DeletedMessageField<ZonedDateTime> DELIVERY_DATE = new DeletedMessageField<>(FieldName.DELIVERY_DATE, DELIVERY_DATE_EXTRACTOR);
+ static final DeletedMessageField<Collection<MailAddress>> RECIPIENTS = new DeletedMessageField<>(FieldName.RECIPIENTS, RECIPIENTS_EXTRACTOR);
+ static final DeletedMessageField<MailAddress> SENDER = new DeletedMessageField<>(FieldName.SENDER, SENDER_EXTRACTOR);
+ static final DeletedMessageField<Boolean> HAS_ATTACHMENT = new DeletedMessageField<>(FieldName.HAS_ATTACHMENT, HAS_ATTACHMENT_EXTRACTOR);
+ static final DeletedMessageField<Collection<MailboxId>> ORIGIN_MAILBOXES = new DeletedMessageField<>(FieldName.ORIGIN_MAILBOXES, ORIGIN_MAILBOXES_EXTRACTOR);
+ static final DeletedMessageField<String> SUBJECT = new DeletedMessageField<>(FieldName.SUBJECT, SUBJECT_EXTRACTOR);
}
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleProperty.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleProperty.java
index c21d5b5..374f6d1 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleProperty.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleProperty.java
@@ -18,6 +18,8 @@
****************************************************************/
package org.apache.james.mailbox.store.mail.model.impl;
+import java.util.Objects;
+
import org.apache.james.mailbox.store.mail.model.Property;
public final class SimpleProperty implements Property {
@@ -102,21 +104,15 @@ public final class SimpleProperty implements Property {
return false;
}
SimpleProperty that = (SimpleProperty) o;
- if (namespace != null ? !namespace.equals(that.namespace) : that.namespace != null) {
- return false;
- }
- if (localName != null ? !localName.equals(that.localName) : that.localName != null) {
- return false;
- }
- return !(value != null ? !value.equals(that.value) : that.value != null);
+
+ return Objects.equals(namespace, that.namespace) &&
+ Objects.equals(localName, that.localName) &&
+ Objects.equals(value, that.value);
}
@Override
public int hashCode() {
- int result = namespace != null ? namespace.hashCode() : 0;
- result = 31 * result + (localName != null ? localName.hashCode() : 0);
- result = 31 * result + (value != null ? value.hashCode() : 0);
- return result;
+ return Objects.hash(namespace, localName, value);
}
}
diff --git a/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java b/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java
index d227ad4..6b1f774 100644
--- a/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java
+++ b/mailet/ai/src/main/java/org/apache/james/ai/classic/SqlResources.java
@@ -52,7 +52,7 @@ class SqlResources {
private final Map<String, String> dbOptions = new HashMap<>();
/** A set of all used String values */
- private static final Map<String, String> stringTable = java.util.Collections.synchronizedMap(new HashMap<String, String>());
+ private static final Map<String, String> stringTable = java.util.Collections.synchronizedMap(new HashMap<>());
/**
* <p>
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java b/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
index 13f7c7e..84ed6ff 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/mailets/AmqpForwardAttribute.java
@@ -149,20 +149,10 @@ public class AmqpForwardAttribute extends GenericMailet {
}
private void trySendContent(Stream<byte[]> content) throws IOException, TimeoutException {
- Connection connection = null;
- Channel channel = null;
- try {
- connection = connectionFactory.newConnection();
- channel = connection.createChannel();
+ try (Connection connection = connectionFactory.newConnection();
+ Channel channel = connection.createChannel()) {
channel.exchangeDeclarePassive(exchange);
sendContentOnChannel(channel, content);
- } finally {
- if (channel != null) {
- channel.close();
- }
- if (connection != null) {
- connection.close();
- }
}
}
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java
index 44f3260..91aec46 100644
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/CompareNumericHeaderValue.java
@@ -74,26 +74,32 @@ public class CompareNumericHeaderValue extends GenericMatcher {
}
if (st.hasMoreTokens()) {
String comparisonOperatorString = st.nextToken().trim();
- if (comparisonOperatorString.equals("<")
- || comparisonOperatorString.equals("LT")) {
- comparisonOperator = LT;
- } else if (comparisonOperatorString.equals("<=")
- || comparisonOperatorString.equals("=<")
- || comparisonOperatorString.equals("LE")) {
- comparisonOperator = LE;
- } else if (comparisonOperatorString.equals("==")
- || comparisonOperatorString.equals("=")
- || comparisonOperatorString.equals("EQ")) {
- comparisonOperator = EQ;
- } else if (comparisonOperatorString.equals(">=")
- || comparisonOperatorString.equals("=>")
- || comparisonOperatorString.equals("GE")) {
- comparisonOperator = GE;
- } else if (comparisonOperatorString.equals(">")
- || comparisonOperatorString.equals("GT")) {
- comparisonOperator = GT;
- } else {
- throw new MessagingException("Bad comparisonOperator: \"" + comparisonOperatorString + "\"");
+ switch (comparisonOperatorString) {
+ case "<":
+ case "LT":
+ comparisonOperator = LT;
+ break;
+ case "<=":
+ case "=<":
+ case "LE":
+ comparisonOperator = LE;
+ break;
+ case "==":
+ case "=":
+ case "EQ":
+ comparisonOperator = EQ;
+ break;
+ case ">=":
+ case "=>":
+ case "GE":
+ comparisonOperator = GE;
+ break;
+ case ">":
+ case "GT":
+ comparisonOperator = GT;
+ break;
+ default:
+ throw new MessagingException("Bad comparisonOperator: \"" + comparisonOperatorString + "\"");
}
} else {
throw new MessagingException("Missing comparisonOperator");
diff --git a/mailet/standard/src/main/java/org/apache/james/transport/matchers/FileRegexMatcher.java b/mailet/standard/src/main/java/org/apache/james/transport/matchers/FileRegexMatcher.java
index 1f1c082..e9468fb 100755
--- a/mailet/standard/src/main/java/org/apache/james/transport/matchers/FileRegexMatcher.java
+++ b/mailet/standard/src/main/java/org/apache/james/transport/matchers/FileRegexMatcher.java
@@ -37,9 +37,7 @@ public class FileRegexMatcher extends GenericRegexMatcher {
@Override
public void init() throws MessagingException {
- java.io.RandomAccessFile patternSource = null;
- try {
- patternSource = new java.io.RandomAccessFile(getCondition(), "r");
+ try (java.io.RandomAccessFile patternSource = new java.io.RandomAccessFile(getCondition(), "r")) {
int lines = 0;
while (patternSource.readLine() != null) {
lines++;
@@ -50,24 +48,17 @@ public class FileRegexMatcher extends GenericRegexMatcher {
String line = patternSource.readLine();
patterns[i][0] = line.substring(0, line.indexOf(':'));
patterns[i][1] = line.substring(line.indexOf(':') + 1);
- }
+ }
compile(patterns);
-
+
} catch (java.io.FileNotFoundException fnfe) {
throw new MessagingException("Could not locate patterns.", fnfe);
- } catch (java.io.IOException ioe) {
+ } catch (IOException ioe) {
throw new MessagingException("Could not read patterns.", ioe);
} catch (PatternSyntaxException mp) {
throw new MessagingException("Could not initialize regex patterns", mp);
- } finally {
- if (patternSource != null) {
- // close the file
- try {
- patternSource.close();
- } catch (IOException e) {
- // just ignore on close
- }
- }
}
+ // close the file
+ // just ignore on close
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
index b6983ed..7532ece 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java
@@ -375,36 +375,23 @@ public abstract class ImapRequestLineReader {
if (charset == null) {
return consumeLiteral(US_ASCII);
} else {
- FastByteArrayOutputStream out = new FastByteArrayOutputStream();
- InputStream in = null;
- try {
- in = consumeLiteral(false);
- byte[] buf = new byte[ 0xFFFF ];
-
+ try (FastByteArrayOutputStream out = new FastByteArrayOutputStream();
+ InputStream in = consumeLiteral(false)) {
+ byte[] buf = new byte[0xFFFF];
+
for (int len; (len = in.read(buf)) != -1; ) {
out.write(buf, 0, len);
}
-
+
final byte[] bytes = out.toByteArray();
final ByteBuffer buffer = ByteBuffer.wrap(bytes);
return decode(charset, buffer);
-
+
} catch (IOException e) {
throw new DecodingException(HumanReadableText.BAD_IO_ENCODING, "Bad character encoding", e);
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- // ignore on close
- }
- }
- try {
- out.close();
- } catch (IOException e) {
- // ignore on close
- }
}
+ // ignore on close
+ // ignore on close
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/main/OutputStreamImapResponseWriter.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/main/OutputStreamImapResponseWriter.java
index 4ceaad6..27539bd 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/decode/main/OutputStreamImapResponseWriter.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/main/OutputStreamImapResponseWriter.java
@@ -46,18 +46,12 @@ public class OutputStreamImapResponseWriter implements ImapResponseWriter {
@Override
public void write(Literal literal) throws IOException {
- InputStream in = null;
- try {
- in = literal.getInputStream();
+ try (InputStream in = literal.getInputStream()) {
byte[] buffer = new byte[1024];
- for (int len; (len = in.read(buffer)) != -1;) {
+ for (int len; (len = in.read(buffer)) != -1; ) {
output.write(buffer, 0, len);
}
- } finally {
- if (in != null) {
- in.close();
- }
}
}
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ACLResponse.java b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
index a1a5dd1..fbe53d7 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ACLResponse.java
@@ -20,6 +20,7 @@
package org.apache.james.imap.message.response;
import java.util.Map.Entry;
+import java.util.Objects;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.message.response.ImapResponseMessage;
@@ -46,9 +47,8 @@ public final class ACLResponse implements ImapResponseMessage {
public boolean equals(Object o) {
if (o instanceof ACLResponse) {
ACLResponse other = (ACLResponse) o;
- return (this.acl == other.acl || (this.acl != null && this.acl.equals(other.acl)))
- && (this.mailboxName == other.mailboxName || (this.mailboxName != null && this.mailboxName.equals(other.mailboxName)))
- ;
+ return (Objects.equals(this.acl, other.acl))
+ && (Objects.equals(this.mailboxName, other.mailboxName));
}
return false;
}
@@ -63,8 +63,7 @@ public final class ACLResponse implements ImapResponseMessage {
@Override
public int hashCode() {
- final int PRIME = 31;
- return PRIME * acl.hashCode() + mailboxName.hashCode();
+ return Objects.hash(acl, mailboxName);
}
@Override
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java
index 268229e..4e07406 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/message/response/ListRightsResponse.java
@@ -20,6 +20,7 @@
package org.apache.james.imap.message.response;
import java.util.Arrays;
+import java.util.Objects;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.message.response.ImapResponseMessage;
@@ -45,7 +46,9 @@ public final class ListRightsResponse implements ImapResponseMessage {
public boolean equals(Object o) {
if (o instanceof ListRightsResponse) {
ListRightsResponse other = (ListRightsResponse) o;
- return (this.mailboxName == other.mailboxName || (this.mailboxName != null && this.mailboxName.equals(other.mailboxName))) && (this.identifier == other.identifier || (this.identifier != null && this.identifier.equals(other.identifier))) && Arrays.equals(this.rights, other.rights);
+ return (Objects.equals(this.mailboxName, other.mailboxName)) &&
+ (Objects.equals(this.identifier, other.identifier)) &&
+ Arrays.equals(this.rights, other.rights);
}
return false;
}
@@ -64,12 +67,7 @@ public final class ListRightsResponse implements ImapResponseMessage {
@Override
public int hashCode() {
- final int PRIME = 31;
- int hashCode = (mailboxName == null ? 0 : mailboxName.hashCode());
- hashCode = PRIME * hashCode + (identifier == null ? 0 : identifier.hashCode());
- hashCode = PRIME * hashCode + (rights == null ? 0 : Arrays.hashCode(rights));
-
- return hashCode;
+ return Objects.hash(mailboxName, identifier, rights);
}
@Override
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/message/response/MyRightsResponse.java b/protocols/imap/src/main/java/org/apache/james/imap/message/response/MyRightsResponse.java
index ad093ae..30e853c 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/message/response/MyRightsResponse.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/message/response/MyRightsResponse.java
@@ -19,6 +19,8 @@
package org.apache.james.imap.message.response;
+import java.util.Objects;
+
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.message.response.ImapResponseMessage;
import org.apache.james.mailbox.model.MailboxACL;
@@ -40,9 +42,8 @@ public final class MyRightsResponse implements ImapResponseMessage {
public boolean equals(Object o) {
if (o instanceof MyRightsResponse) {
MyRightsResponse other = (MyRightsResponse) o;
- return (this.myRights == other.myRights || (this.myRights != null && this.myRights.equals(other.myRights)))
- && (this.mailboxName == other.mailboxName || (this.mailboxName != null && this.mailboxName.equals(other.mailboxName)))
- ;
+ return Objects.equals(this.myRights, other.myRights) &&
+ Objects.equals(this.mailboxName, other.mailboxName);
}
return false;
}
@@ -57,8 +58,7 @@ public final class MyRightsResponse implements ImapResponseMessage {
@Override
public int hashCode() {
- final int PRIME = 31;
- return PRIME * myRights.hashCode() + mailboxName.hashCode();
+ return Objects.hash(myRights, mailboxName);
}
@Override
diff --git a/protocols/imap/src/main/java/org/apache/james/imap/message/response/QuotaRootResponse.java b/protocols/imap/src/main/java/org/apache/james/imap/message/response/QuotaRootResponse.java
index b4dedb5..604b75f 100644
--- a/protocols/imap/src/main/java/org/apache/james/imap/message/response/QuotaRootResponse.java
+++ b/protocols/imap/src/main/java/org/apache/james/imap/message/response/QuotaRootResponse.java
@@ -19,6 +19,8 @@
package org.apache.james.imap.message.response;
+import java.util.Objects;
+
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.message.response.ImapResponseMessage;
@@ -37,9 +39,8 @@ public class QuotaRootResponse implements ImapResponseMessage {
public boolean equals(Object o) {
if (o instanceof QuotaRootResponse) {
QuotaRootResponse other = (QuotaRootResponse) o;
- return (this.quotaRoot == other.quotaRoot || (this.quotaRoot != null && this.quotaRoot.equals(other.quotaRoot)))
- && (this.mailboxName == other.mailboxName || (this.mailboxName != null && this.mailboxName.equals(other.mailboxName)))
- ;
+ return Objects.equals(this.quotaRoot, other.quotaRoot) &&
+ Objects.equals(this.mailboxName, other.mailboxName);
}
return false;
}
@@ -54,8 +55,7 @@ public class QuotaRootResponse implements ImapResponseMessage {
@Override
public int hashCode() {
- final int PRIME = 31;
- return PRIME * quotaRoot.hashCode() + mailboxName.hashCode();
+ return Objects.hash(quotaRoot, mailboxName);
}
@Override
diff --git a/protocols/imap/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java b/protocols/imap/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java
index 3d28708..dd00225 100644
--- a/protocols/imap/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java
+++ b/protocols/imap/src/test/java/org/apache/james/imap/encode/base/ByteImapResponseWriter.java
@@ -56,18 +56,11 @@ public class ByteImapResponseWriter implements ImapConstants, ImapResponseWriter
@Override
public void write(Literal literal) throws IOException {
- InputStream in = null;
- try {
- in = literal.getInputStream();
-
+ try (InputStream in = literal.getInputStream()) {
byte[] buffer = new byte[1024];
- for (int len; (len = in.read(buffer)) != -1;) {
+ for (int len; (len = in.read(buffer)) != -1; ) {
out.write(buffer, 0, len);
}
- } finally {
- if (in != null) {
- in.close();
- }
}
}
diff --git a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
index 538cb03..cdd1a98 100644
--- a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
+++ b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
@@ -1124,10 +1124,7 @@ public abstract class AbstractSMTPServerTest {
assertThat(address.toString()).isEqualTo(recipients.get(i));
}
- BufferedReader reader = null;
-
- try {
- reader = new BufferedReader(new InputStreamReader(env.getMessageInputStream()));
+ try (BufferedReader reader = new BufferedReader(new InputStreamReader(env.getMessageInputStream()))) {
String line = null;
boolean start = false;
@@ -1147,10 +1144,6 @@ public abstract class AbstractSMTPServerTest {
for (int i = 0; i < msg.length(); i++) {
assertThat(msgQueued.charAt(i)).isEqualTo(msg.charAt(i));
}
- } finally {
- if (reader != null) {
- reader.close();
- }
}
}
diff --git a/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageSource.java b/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageSource.java
index d5375a1..3aaee0a 100644
--- a/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageSource.java
+++ b/server/container/core/src/main/java/org/apache/james/server/core/MimeMessageSource.java
@@ -60,24 +60,15 @@ public abstract class MimeMessageSource {
*/
public long getMessageSize() throws IOException {
int size = 0;
- InputStream in = null;
- try {
- in = getInputStream();
+ try (InputStream in = getInputStream()) {
int read;
byte[] data = new byte[1024];
while ((read = in.read(data)) > 0) {
size += read;
}
- } finally {
- try {
- if (in != null) {
- in.close();
- }
- } catch (IOException ioe) {
- // Exception ignored because logging is
- // unavailable
- }
}
+ // Exception ignored because logging is
+ // unavailable
return size;
}
diff --git a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java
index a68e124..457bb39 100644
--- a/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java
+++ b/server/container/guice/onami/src/main/java/org/apache/james/onami/lifecycle/DefaultStager.java
@@ -60,7 +60,7 @@ public class DefaultStager<A extends Annotation> implements DisposingStager<A> {
}
case FIRST_IN_LAST_OUT: {
- localStageables = Collections.asLifoQueue(new ArrayDeque<Stageable>());
+ localStageables = Collections.asLifoQueue(new ArrayDeque<>());
break;
}
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
index cecfb4d..426e37d 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/lifecycle/osgi/OSGIConfigurationProvider.java
@@ -35,21 +35,12 @@ public class OSGIConfigurationProvider implements org.apache.james.container.spr
@Override
public HierarchicalConfiguration<ImmutableNode> getConfiguration(String beanName) throws ConfigurationException {
- FileInputStream fis = null;
- try {
- fis = new FileInputStream("/tmp/" + beanName + ".xml");
+ try (FileInputStream fis = new FileInputStream("/tmp/" + beanName + ".xml")) {
return FileConfigurationProvider.getConfig(fis);
} catch (IOException e) {
throw new ConfigurationException("Bean " + beanName);
- } finally {
- if (fis != null) {
- try {
- fis.close();
- } catch (Exception e) {
- // Left empty on purpose
- }
- }
}
+ // Left empty on purpose
}
}
diff --git a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
index a51e152..0357aab 100644
--- a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
+++ b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledScheduledThreadPoolExecutor.java
@@ -35,7 +35,7 @@ import javax.management.ObjectName;
public class JMXEnabledScheduledThreadPoolExecutor extends ScheduledThreadPoolExecutor implements JMXEnabledScheduledThreadPoolExecutorMBean {
private final String jmxPath;
- private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<Runnable>());
+ private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<>());
private final ThreadLocal<Long> startTime = new ThreadLocal<>();
private long totalTime;
private int totalTasks;
diff --git a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
index c80112a..b6e0051 100644
--- a/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
+++ b/server/container/util/src/main/java/org/apache/james/util/concurrent/JMXEnabledThreadPoolExecutor.java
@@ -37,7 +37,7 @@ import javax.management.ObjectName;
public class JMXEnabledThreadPoolExecutor extends ThreadPoolExecutor implements JMXEnabledThreadPoolExecutorMBean {
private final String jmxPath;
- private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<Runnable>());
+ private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<>());
private final ThreadLocal<Long> startTime = new ThreadLocal<>();
private long totalTime;
private int totalTasks;
diff --git a/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java b/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java
index acf8a90..c093c01 100644
--- a/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java
+++ b/server/container/util/src/main/java/org/apache/james/util/sql/SqlResources.java
@@ -52,7 +52,7 @@ public class SqlResources {
private final Map<String, String> dbOptions = new HashMap<>();
/** A set of all used String values */
- private static final Map<String, String> stringTable = java.util.Collections.synchronizedMap(new HashMap<String, String>());
+ private static final Map<String, String> stringTable = java.util.Collections.synchronizedMap(new HashMap<>());
/**
* <p>
diff --git a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
index 2299cd9..6ff41f8 100644
--- a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
@@ -109,7 +109,7 @@ public class FileMailRepository extends AbstractMailRepository {
streamRepository.init();
if (cacheKeys) {
- keys = Collections.synchronizedSet(new HashSet<String>());
+ keys = Collections.synchronizedSet(new HashSet<>());
}
// Finds non-matching pairs and deletes the extra files
diff --git a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
index d856dcd..56e5a98 100644
--- a/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/sieverepository/file/SieveFileRepository.java
@@ -84,15 +84,9 @@ public class SieveFileRepository implements SieveRepository {
*/
protected static String toString(File file, String encoding) throws FileNotFoundException {
String script = null;
- Scanner scanner = null;
- try {
- scanner = new Scanner(file, encoding);
+ try (Scanner scanner = new Scanner(file, encoding)) {
scanner.useDelimiter("\\A");
script = scanner.next();
- } finally {
- if (scanner != null) {
- scanner.close();
- }
}
return script;
}
@@ -191,16 +185,10 @@ public class SieveFileRepository implements SieveRepository {
file = getQuotaFile();
}
if (file.exists()) {
- Scanner scanner = null;
- try {
- scanner = new Scanner(file, UTF_8);
+ try (Scanner scanner = new Scanner(file, UTF_8)) {
quota = scanner.nextLong();
} catch (FileNotFoundException | NoSuchElementException ex) {
// no op
- } finally {
- if (null != scanner) {
- scanner.close();
- }
}
}
if ((usedSpace + size) > quota) {
@@ -397,16 +385,10 @@ public class SieveFileRepository implements SieveRepository {
Long quota = null;
File file = getQuotaFile();
if (file.exists()) {
- Scanner scanner = null;
- try {
- scanner = new Scanner(file, UTF_8);
+ try (Scanner scanner = new Scanner(file, UTF_8)) {
quota = scanner.nextLong();
} catch (FileNotFoundException | NoSuchElementException ex) {
// no op
- } finally {
- if (null != scanner) {
- scanner.close();
- }
}
}
if (null == quota) {
@@ -449,16 +431,10 @@ public class SieveFileRepository implements SieveRepository {
Long quota = null;
File file = getQuotaFile(user);
if (file.exists()) {
- Scanner scanner = null;
- try {
- scanner = new Scanner(file, UTF_8);
+ try (Scanner scanner = new Scanner(file, UTF_8)) {
quota = scanner.nextLong();
} catch (FileNotFoundException | NoSuchElementException ex) {
// no op
- } finally {
- if (null != scanner) {
- scanner.close();
- }
}
}
if (null == quota) {
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
index 953ebe2..3c1df61 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
@@ -28,6 +28,7 @@ import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
+import java.util.Objects;
import org.apache.james.repository.api.StreamRepository;
import org.apache.james.server.core.MimeMessageSource;
@@ -250,7 +251,8 @@ public class MimeMessageJDBCSource extends MimeMessageSource {
// of
// the equals equation
MimeMessageJDBCSource source = (MimeMessageJDBCSource) obj;
- return ((source.key.equals(key)) || ((source.key != null) && source.key.equals(key))) && ((source.repository == repository) || ((source.repository != null) && source.repository.equals(repository)));
+ return Objects.equals(source.key, key) &&
+ Objects.equals(source.repository, repository);
}
return false;
}
@@ -261,14 +263,7 @@ public class MimeMessageJDBCSource extends MimeMessageSource {
* @return the hash code
*/
public int hashCode() {
- int result = 17;
- if (key != null) {
- result = 37 * key.hashCode();
- }
- if (repository != null) {
- result = 37 * repository.hashCode();
- }
- return result;
+ return Objects.hash(key, repository);
}
}
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
index 71c93fa..4a0bb02 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateCompositeProcessor.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
public abstract class AbstractStateCompositeProcessor implements MailProcessor, Configurable {
private static final Logger LOGGER = LoggerFactory.getLogger(AbstractStateCompositeProcessor.class);
- private final List<CompositeProcessorListener> listeners = Collections.synchronizedList(new ArrayList<CompositeProcessorListener>());
+ private final List<CompositeProcessorListener> listeners = Collections.synchronizedList(new ArrayList<>());
private final Map<String, MailProcessor> processors = new HashMap<>();
protected HierarchicalConfiguration<ImmutableNode> config;
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
index 68a1d37..86ebde8 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/lib/AbstractStateMailetProcessor.java
@@ -67,7 +67,7 @@ public abstract class AbstractStateMailetProcessor implements MailProcessor, Con
private MailetContext mailetContext;
private MatcherLoader matcherLoader;
private MailProcessor rootMailProcessor;
- private final List<MailetProcessorListener> listeners = Collections.synchronizedList(new ArrayList<MailetProcessorListener>());
+ private final List<MailetProcessorListener> listeners = Collections.synchronizedList(new ArrayList<>());
private JMXStateMailetProcessorListener jmxListener;
private boolean enableJmx = true;
private HierarchicalConfiguration<ImmutableNode> config;
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java
index f5d2312..087c7d2 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/managesieve/transcode/MessageToCoreToMessage.java
@@ -65,17 +65,11 @@ public class MessageToCoreToMessage {
return (String) part.getContent();
}
InputStream is = (InputStream) part.getContent();
- Scanner scanner = null;
- try {
- scanner = new Scanner(is, "UTF-8");
+ try (Scanner scanner = new Scanner(is, "UTF-8")) {
scanner.useDelimiter("\\A");
if (scanner.hasNext()) {
result = scanner.next();
}
- } finally {
- if (scanner != null) {
- scanner.close();
- }
}
}
}
diff --git a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
index f311474..7a24544 100644
--- a/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
+++ b/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
@@ -504,9 +504,8 @@ public class FetchMail implements Runnable, Configurable {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Session properties:");
Properties properties = getSession().getProperties();
- Enumeration<Object> e = properties.keys();
- while (e.hasMoreElements()) {
- String key = (String) e.nextElement();
+ for (Object o : properties.keySet()) {
+ String key = (String) o;
String val = (String) properties.get(key);
if (val.length() > 40) {
val = val.substring(0, 37) + "...";
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
index 932dd7f..f819cca 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesUpdateProcessor.java
@@ -115,7 +115,7 @@ public class SetMailboxesUpdateProcessor implements SetMailboxesProcessor {
.type(SetError.Type.INVALID_ARGUMENTS)
.description("The mailbox name length is too long")
.build());
- } catch (MailboxNameException e) {
+ } catch (MailboxNameException | IllegalArgumentException e) {
responseBuilder.notUpdated(mailboxId, SetError.builder()
.type(SetError.Type.INVALID_ARGUMENTS)
.description(e.getMessage())
@@ -150,11 +150,6 @@ public class SetMailboxesUpdateProcessor implements SetMailboxesProcessor {
.type(SetError.Type.INVALID_ARGUMENTS)
.description("Cannot share a mailbox to another domain")
.build());
- } catch (IllegalArgumentException e) {
- responseBuilder.notUpdated(mailboxId, SetError.builder()
- .type(SetError.Type.INVALID_ARGUMENTS)
- .description(e.getMessage())
- .build());
} catch (MailboxException e) {
LOGGER.error("Error while updating mailbox", e);
responseBuilder.notUpdated(mailboxId, SetError.builder()
diff --git a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
index f0d64df..338f654 100644
--- a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
+++ b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/JMXEnabledOrderedMemoryAwareThreadPoolExecutor.java
@@ -36,7 +36,7 @@ import org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor;
public class JMXEnabledOrderedMemoryAwareThreadPoolExecutor extends OrderedMemoryAwareThreadPoolExecutor implements JMXEnabledOrderedMemoryAwareThreadPoolExecutorMBean {
private final String jmxPath;
- private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<Runnable>());
+ private final List<Runnable> inProgress = Collections.synchronizedList(new ArrayList<>());
private final ThreadLocal<Long> startTime = new ThreadLocal<>();
private long totalTime;
private int totalTasks;
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
index 2183816..9db776b 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
@@ -92,27 +92,28 @@ public class SPFHandlerTest {
case DNSRequest.TXT:
case DNSRequest.SPF:
List<String> l = new ArrayList<>();
- if (req.getHostname().equals("spf1.james.apache.org")) {
- // pass
- l.add("v=spf1 +all");
- return l;
- } else if (req.getHostname().equals("spf2.james.apache.org")) {
- // fail
- l.add("v=spf1 -all");
- return l;
- } else if (req.getHostname().equals("spf3.james.apache.org")) {
- // softfail
- l.add("v=spf1 ~all");
- return l;
- } else if (req.getHostname().equals("spf4.james.apache.org")) {
- // permerror
- l.add("v=spf1 badcontent!");
- return l;
- } else if (req.getHostname().equals("spf5.james.apache.org")) {
- // temperror
- throw new TimeoutException("TIMEOUT");
- } else {
- return null;
+ switch (req.getHostname()) {
+ case "spf1.james.apache.org":
+ // pass
+ l.add("v=spf1 +all");
+ return l;
+ case "spf2.james.apache.org":
+ // fail
+ l.add("v=spf1 -all");
+ return l;
+ case "spf3.james.apache.org":
+ // softfail
+ l.add("v=spf1 ~all");
+ return l;
+ case "spf4.james.apache.org":
+ // permerror
+ l.add("v=spf1 badcontent!");
+ return l;
+ case "spf5.james.apache.org":
+ // temperror
+ throw new TimeoutException("TIMEOUT");
+ default:
+ return null;
}
default:
throw new UnsupportedOperationException("Unimplemented mock service");
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org