JAMES-2127 MailboxAPI: Replaced guava's Optional by java.util.Optional and it's related
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/aa1920b9 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/aa1920b9 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/aa1920b9 Branch: refs/heads/master Commit: aa1920b94d31a283239ef3a53e68fdc519c90eed Parents: 4b334fc Author: quynhn <qngu...@linagora.com> Authored: Fri Aug 25 15:19:50 2017 +0700 Committer: quynhn <qngu...@linagora.com> Committed: Wed Aug 30 11:08:47 2017 +0700 ---------------------------------------------------------------------- .../apache/james/mailbox/MailboxManager.java | 3 +- .../org/apache/james/mailbox/model/Cid.java | 13 ++-- .../james/mailbox/model/MailboxAnnotation.java | 5 +- .../james/mailbox/model/MailboxCounters.java | 7 ++- .../james/mailbox/model/MailboxQuery.java | 8 +-- .../james/mailbox/model/MessageAttachment.java | 17 +++--- .../james/mailbox/model/UpdatedFlags.java | 5 +- .../james/mailbox/MailboxManagerTest.java | 4 +- .../org/apache/james/mailbox/model/CidTest.java | 20 +++--- .../mailbox/model/MailboxAnnotationTest.java | 7 +-- .../mailbox/model/MessageAttachmentTest.java | 5 +- .../mailbox/caching/CachingMessageMapper.java | 4 +- .../mailbox/caching/MailboxMetadataCache.java | 4 +- .../guava/GuavaMailboxMetadataCache.java | 3 +- .../cassandra/mail/CassandraMessageDAO.java | 10 ++- .../cassandra/mail/CassandraMessageMapper.java | 3 +- .../cassandra/mail/CassandraUidProvider.java | 4 +- .../mail/MessageAttachmentRepresentation.java | 2 +- .../mail/CassandraUidProviderTest.java | 6 +- ...lasticSearchListeningMessageSearchIndex.java | 4 +- .../mailbox/hbase/mail/HBaseMessageMapper.java | 30 +++++---- .../mailbox/hbase/mail/HBaseUidProvider.java | 16 +++-- .../mail/HBaseUidAndModSeqProviderTest.java | 8 +-- .../james/mailbox/jcr/mail/JCRUidProvider.java | 5 +- .../jcr/JCRMailboxManagerStressTest.java | 9 ++- .../mailbox/jcr/JCRMailboxManagerTest.java | 9 ++- .../mailbox/jpa/mail/JPAAnnotationMapper.java | 9 ++- .../mailbox/jpa/mail/JPAMessageMapper.java | 3 +- .../james/mailbox/jpa/mail/JPAUidProvider.java | 5 +- .../jpa/quota/JpaCurrentQuotaManager.java | 10 +-- .../mailbox/jpa/JPAMailboxManagerTest.java | 6 +- .../jpa/JpaMailboxManagerStressTest.java | 6 +- .../jpa/mail/TransactionalMessageMapper.java | 6 +- .../lucene/search/LuceneMessageSearchIndex.java | 7 +-- .../james/mailbox/maildir/MaildirFolder.java | 17 +++--- .../james/mailbox/maildir/MaildirStore.java | 9 ++- .../inmemory/InMemoryMessageIdManager.java | 15 +++-- .../inmemory/mail/InMemoryUidProvider.java | 5 +- .../InMemoryMessageIdManagerTestSystem.java | 13 ++-- .../apache/james/mailbox/store/BatchSizes.java | 27 +++++---- .../james/mailbox/store/FakeAuthorizator.java | 4 +- .../mailbox/store/StoreMailboxManager.java | 7 +-- .../mailbox/store/StoreMessageIdManager.java | 64 ++++++++++++-------- .../mailbox/store/StoreMessageManager.java | 9 ++- .../store/mail/AbstractMessageMapper.java | 3 +- .../james/mailbox/store/mail/MessageMapper.java | 4 +- .../james/mailbox/store/mail/MessageUtils.java | 3 +- .../james/mailbox/store/mail/UidProvider.java | 4 +- .../mail/model/impl/SimpleMailboxMessage.java | 9 ++- .../search/ListeningMessageSearchIndex.java | 7 +-- .../store/search/MessageSearchIndex.java | 3 +- .../mailbox/store/search/MessageSearches.java | 3 +- .../AbstractMailboxManagerAttachmentTest.java | 5 +- .../StoreMailboxMessageResultIteratorTest.java | 6 +- .../store/mail/model/MessageMapperTest.java | 8 +-- .../mail/model/impl/MessageParserTest.java | 7 +-- .../james/mailbox/indexer/ReIndexerImpl.java | 3 +- .../registrations/GlobalRegistration.java | 7 +-- .../registrations/GlobalRegistrationTest.java | 5 +- .../mailbox/store/mail/ZooUidProvider.java | 7 ++- .../mailbox/store/mail/ZooUidProviderTest.java | 7 +-- 61 files changed, 242 insertions(+), 282 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java index f93befa..4e8d2a7 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java @@ -21,6 +21,7 @@ package org.apache.james.mailbox; import java.util.EnumSet; import java.util.List; +import java.util.Optional; import java.util.Set; import org.apache.james.mailbox.exception.AnnotationException; @@ -41,8 +42,6 @@ import org.apache.james.mailbox.model.MessageRange; import org.apache.james.mailbox.model.MultimailboxesSearchQuery; import org.apache.james.mailbox.model.SimpleMailboxACL; -import com.google.common.base.Optional; - /** * <p> * Central MailboxManager which creates, lists, provides, renames and deletes http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/main/java/org/apache/james/mailbox/model/Cid.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/Cid.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/Cid.java index 612ee32..c6694ce 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/Cid.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/Cid.java @@ -20,10 +20,11 @@ package org.apache.james.mailbox.model; +import java.util.Optional; + import org.apache.commons.lang.StringUtils; import com.google.common.base.Objects; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Strings; @@ -89,8 +90,8 @@ public class Cid { private Optional<CidTransformation> transformation; private CidParser() { - validator = Optional.absent(); - transformation = Optional.absent(); + validator = Optional.empty(); + transformation = Optional.empty(); } public CidParser relaxed() { @@ -109,8 +110,8 @@ public class Cid { } public Optional<Cid> parse(String value) { - CidValidator cidValidator = validator.or(DEFAULT_VALIDATOR); - CidTransformation cidTransformation = transformation.or(new Identity()); + CidValidator cidValidator = validator.orElse(DEFAULT_VALIDATOR); + CidTransformation cidTransformation = transformation.orElse(new Identity()); return cidTransformation.apply(cidValidator, value); } } @@ -134,7 +135,7 @@ public class Cid { private static Optional<Cid> toCid(String cidAsString) { if (Strings.isNullOrEmpty(cidAsString) || StringUtils.isBlank(cidAsString)) { - return Optional.absent(); + return Optional.empty(); } return Optional.of(new Cid(cidAsString)); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java index 9150d04..94fc839 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxAnnotation.java @@ -19,14 +19,15 @@ package org.apache.james.mailbox.model; +import java.util.Optional; + import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; public class MailboxAnnotation { public static MailboxAnnotation nil(MailboxAnnotationKey key) { - return new MailboxAnnotation(key, Optional.<String> absent()); + return new MailboxAnnotation(key, Optional.<String> empty()); } public static MailboxAnnotation newInstance(MailboxAnnotationKey key, String value) { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxCounters.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxCounters.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxCounters.java index d86e14a..324149d 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxCounters.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxCounters.java @@ -19,15 +19,16 @@ package org.apache.james.mailbox.model; +import java.util.Optional; + import com.google.common.base.Objects; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; public class MailboxCounters { public static class Builder { - private Optional<Long> count = Optional.absent(); - private Optional<Long> unseen = Optional.absent(); + private Optional<Long> count = Optional.empty(); + private Optional<Long> unseen = Optional.empty(); public Builder count(long count) { this.count = Optional.of(count); http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxQuery.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxQuery.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxQuery.java index ee5c43d..e32c9be 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxQuery.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxQuery.java @@ -19,13 +19,13 @@ package org.apache.james.mailbox.model; +import java.util.Optional; import java.util.StringTokenizer; import java.util.regex.Pattern; import org.apache.james.mailbox.MailboxSession; import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; @@ -71,8 +71,8 @@ public final class MailboxQuery { @VisibleForTesting Optional<String> namespace; private Builder() { - this.pathName = Optional.absent(); - this.namespace = Optional.absent(); + this.pathName = Optional.empty(); + this.namespace = Optional.empty(); } public Builder base(MailboxPath base) { @@ -121,7 +121,7 @@ public final class MailboxQuery { if (base != null) { return base; } else { - return new MailboxPath(namespace.or(MailboxConstants.USER_NAMESPACE), username, pathName.or(EMPTY_PATH_NAME)); + return new MailboxPath(namespace.orElse(MailboxConstants.USER_NAMESPACE), username, pathName.orElse(EMPTY_PATH_NAME)); } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachment.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachment.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachment.java index 770efc7..9dda554 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachment.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MessageAttachment.java @@ -19,9 +19,10 @@ package org.apache.james.mailbox.model; +import java.util.Optional; + import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; public class MessageAttachment { @@ -35,11 +36,11 @@ public class MessageAttachment { private Attachment attachment; private Optional<String> name; private Optional<Cid> cid; - private Optional<Boolean> isInline = Optional.absent(); + private Optional<Boolean> isInline = Optional.empty(); private Builder() { - name = Optional.absent(); - cid = Optional.absent(); + name = Optional.empty(); + cid = Optional.empty(); } public Builder attachment(Attachment attachment) { @@ -49,7 +50,7 @@ public class MessageAttachment { } public Builder name(String name) { - this.name = Optional.fromNullable(name); + this.name = Optional.ofNullable(name); return this; } @@ -61,18 +62,18 @@ public class MessageAttachment { public Builder cid(Cid cid) { - this.cid = Optional.fromNullable(cid); + this.cid = Optional.ofNullable(cid); return this; } public Builder isInline(Boolean isInline) { - this.isInline = Optional.fromNullable(isInline); + this.isInline = Optional.ofNullable(isInline); return this; } public MessageAttachment build() { Preconditions.checkState(attachment != null, "'attachment' is mandatory"); - return new MessageAttachment(attachment, name, cid, isInline.or(false)); + return new MessageAttachment(attachment, name, cid, isInline.orElse(false)); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/main/java/org/apache/james/mailbox/model/UpdatedFlags.java ---------------------------------------------------------------------- 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 9b7a7ef..11b94af 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,14 +21,13 @@ package org.apache.james.mailbox.model; import java.util.Arrays; import java.util.Iterator; - +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.Optional; import com.google.common.base.Preconditions; /** @@ -46,7 +45,7 @@ public class UpdatedFlags { private MessageUid uid; private Flags oldFlags; private Flags newFlags; - private Optional<Long> modSeq = Optional.absent(); + private Optional<Long> modSeq = Optional.empty(); private Builder() { } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java index 0ccd355..4e9f02d 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java @@ -19,12 +19,11 @@ package org.apache.james.mailbox; import static org.assertj.core.api.Assertions.assertThat; - import java.io.ByteArrayInputStream; import java.io.UnsupportedEncodingException; import java.util.Date; import java.util.List; - +import java.util.Optional; import javax.mail.Flags; import org.apache.james.mailbox.MailboxManager.MailboxCapabilities; @@ -46,7 +45,6 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/test/java/org/apache/james/mailbox/model/CidTest.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/model/CidTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/model/CidTest.java index ef05548..81643ef 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/model/CidTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/model/CidTest.java @@ -20,14 +20,12 @@ package org.apache.james.mailbox.model; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.guava.api.Assertions.assertThat; +import java.util.Optional; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import com.google.common.base.Optional; - import nl.jqno.equalsverifier.EqualsVerifier; public class CidTest { @@ -93,7 +91,7 @@ public class CidTest { assertThat(Cid.parser() .relaxed() .parse(null)) - .isAbsent(); + .isEmpty(); } @Test @@ -101,7 +99,7 @@ public class CidTest { assertThat(Cid.parser() .relaxed() .parse("")) - .isAbsent(); + .isEmpty(); } @Test @@ -109,7 +107,7 @@ public class CidTest { assertThat(Cid.parser() .relaxed() .parse(" ")) - .isAbsent(); + .isEmpty(); } @Test @@ -170,7 +168,7 @@ public class CidTest { .relaxed() .unwrap() .parse(null)) - .isAbsent(); + .isEmpty(); } @Test @@ -179,7 +177,7 @@ public class CidTest { .relaxed() .unwrap() .parse("")) - .isAbsent(); + .isEmpty(); } @Test @@ -188,7 +186,7 @@ public class CidTest { .relaxed() .unwrap() .parse(" ")) - .isAbsent(); + .isEmpty(); } @Test @@ -197,7 +195,7 @@ public class CidTest { .relaxed() .unwrap() .parse("<>")) - .isAbsent(); + .isEmpty(); } @Test @@ -206,7 +204,7 @@ public class CidTest { .relaxed() .unwrap() .parse("< >")) - .isAbsent(); + .isEmpty(); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxAnnotationTest.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxAnnotationTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxAnnotationTest.java index 10d7c62..439d434 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxAnnotationTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/model/MailboxAnnotationTest.java @@ -19,10 +19,9 @@ package org.apache.james.mailbox.model; -import org.junit.Test; - import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.guava.api.Assertions.assertThat; + +import org.junit.Test; public class MailboxAnnotationTest { private static final MailboxAnnotationKey ANNOTATION_KEY = new MailboxAnnotationKey("/private/comment"); @@ -55,7 +54,7 @@ public class MailboxAnnotationTest { public void nilInstanceShouldReturnAbsentValue() throws Exception { MailboxAnnotation annotation = MailboxAnnotation.nil(ANNOTATION_KEY); - assertThat(annotation.getValue()).isAbsent(); + assertThat(annotation.getValue()).isEmpty(); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/api/src/test/java/org/apache/james/mailbox/model/MessageAttachmentTest.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/model/MessageAttachmentTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/model/MessageAttachmentTest.java index 949a926..45933e2 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/model/MessageAttachmentTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/model/MessageAttachmentTest.java @@ -20,11 +20,10 @@ package org.apache.james.mailbox.model; import static org.assertj.core.api.Assertions.assertThat; +import java.util.Optional; import org.junit.Test; -import com.google.common.base.Optional; - public class MessageAttachmentTest { @Test(expected=IllegalStateException.class) @@ -45,7 +44,7 @@ public class MessageAttachmentTest { .bytes("content".getBytes()) .type("type") .build(); - MessageAttachment expectedMessageAttachment = new MessageAttachment(attachment, Optional.<String> absent(), Optional.<Cid> absent(), false); + MessageAttachment expectedMessageAttachment = new MessageAttachment(attachment, Optional.empty(), Optional.empty(), false); MessageAttachment messageAttachment = MessageAttachment.builder() .attachment(attachment) http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMessageMapper.java b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMessageMapper.java index 0e1f4d5..3224a50 100644 --- a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMessageMapper.java +++ b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMessageMapper.java @@ -3,7 +3,7 @@ package org.apache.james.mailbox.caching; import java.util.Iterator; import java.util.List; import java.util.Map; - +import java.util.Optional; import javax.mail.Flags; import org.apache.james.mailbox.MessageUid; @@ -17,8 +17,6 @@ import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.MailboxMessage; -import com.google.common.base.Optional; - /** * A MessageMapper implementation that uses a MailboxMetadataCache to cache the information * from the underlying MessageMapper http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/MailboxMetadataCache.java ---------------------------------------------------------------------- diff --git a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/MailboxMetadataCache.java b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/MailboxMetadataCache.java index e634ec7..f40e486 100644 --- a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/MailboxMetadataCache.java +++ b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/MailboxMetadataCache.java @@ -1,12 +1,12 @@ package org.apache.james.mailbox.caching; +import java.util.Optional; + import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; -import com.google.common.base.Optional; - /** * Caches the simple yet possibly expensive to compute metadata info * about a Mailbox like all/unseen messages count and similar http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxMetadataCache.java ---------------------------------------------------------------------- diff --git a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxMetadataCache.java b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxMetadataCache.java index 42212c4..80728ca 100644 --- a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxMetadataCache.java +++ b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxMetadataCache.java @@ -1,5 +1,7 @@ package org.apache.james.mailbox.caching.guava; +import java.util.Optional; + import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.caching.MailboxMetadataCache; import org.apache.james.mailbox.exception.MailboxException; @@ -7,7 +9,6 @@ import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; -import com.google.common.base.Optional; import com.google.common.cache.Cache; /** * Guava-based implementation of MailboxMetadataCache. http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java index 5b62ef0..2fe0daf 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageDAO.java @@ -38,7 +38,6 @@ import static org.apache.james.mailbox.cassandra.table.CassandraMessageV2Table.M import static org.apache.james.mailbox.cassandra.table.CassandraMessageV2Table.PROPERTIES; import static org.apache.james.mailbox.cassandra.table.CassandraMessageV2Table.TABLE_NAME; import static org.apache.james.mailbox.cassandra.table.CassandraMessageV2Table.TEXTUAL_LINE_COUNT; - import java.io.IOException; import java.util.Collection; import java.util.List; @@ -47,12 +46,9 @@ import java.util.concurrent.CompletableFuture; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; - import javax.inject.Inject; import javax.mail.util.SharedByteArrayInputStream; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang3.tuple.Pair; import org.apache.james.backends.cassandra.CassandraConfiguration; import org.apache.james.backends.cassandra.init.CassandraTypesProvider; import org.apache.james.backends.cassandra.utils.CassandraAsyncExecutor; @@ -76,6 +72,8 @@ import org.apache.james.util.CompletableFutureUtil; import org.apache.james.util.FluentFutureStream; import org.apache.james.util.OptionalConverter; import org.apache.james.util.streams.JamesCollectors; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang3.tuple.Pair; import com.datastax.driver.core.BoundStatement; import com.datastax.driver.core.PreparedStatement; @@ -197,8 +195,8 @@ public class CassandraMessageDAO { return typesProvider.getDefinedUserType(ATTACHMENTS) .newValue() .setString(Attachments.ID, messageAttachment.getAttachmentId().getId()) - .setString(Attachments.NAME, messageAttachment.getName().orNull()) - .setString(Attachments.CID, messageAttachment.getCid().transform(Cid::getValue).orNull()) + .setString(Attachments.NAME, messageAttachment.getName().orElse(null)) + .setString(Attachments.CID, messageAttachment.getCid().map(Cid::getValue).orElse(null)) .setBool(Attachments.IS_INLINE, messageAttachment.isInline()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java index cb3c583..445660b 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java @@ -27,7 +27,6 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.CompletableFuture; import java.util.stream.Stream; - import javax.mail.Flags; import javax.mail.Flags.Flag; @@ -349,7 +348,7 @@ public class CassandraMessageMapper implements MessageMapper { } @Override - public com.google.common.base.Optional<MessageUid> getLastUid(Mailbox mailbox) throws MailboxException { + public Optional<MessageUid> getLastUid(Mailbox mailbox) throws MailboxException { return uidProvider.lastUid(mailboxSession, mailbox); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java index e6a854a..6f3fa25 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java @@ -28,10 +28,8 @@ import static com.datastax.driver.core.querybuilder.QueryBuilder.update; import static org.apache.james.mailbox.cassandra.table.CassandraMessageUidTable.MAILBOX_ID; import static org.apache.james.mailbox.cassandra.table.CassandraMessageUidTable.NEXT_UID; import static org.apache.james.mailbox.cassandra.table.CassandraMessageUidTable.TABLE_NAME; - import java.util.Optional; import java.util.concurrent.CompletableFuture; - import javax.inject.Inject; import org.apache.james.backends.cassandra.CassandraConfiguration; @@ -125,7 +123,7 @@ public class CassandraUidProvider implements UidProvider { } @Override - public com.google.common.base.Optional<MessageUid> lastUid(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException { + public Optional<MessageUid> lastUid(MailboxSession mailboxSession, Mailbox mailbox) throws MailboxException { return OptionalConverter.toGuava(findHighestUid((CassandraId) mailbox.getMailboxId()).join()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java index 172c550..1eb3f0b 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/MessageAttachmentRepresentation.java @@ -42,7 +42,7 @@ public class MessageAttachmentRepresentation { .attachmentId(attachment.getAttachmentId()) .cid(OptionalConverter.fromGuava(attachment.getCid())) .isInline(attachment.isInline()) - .name(attachment.getName().orNull()) + .name(attachment.getName().orElse(null)) .build(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java index 9faddfb..c6b27d9 100644 --- a/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java +++ b/mailbox/cassandra/src/test/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProviderTest.java @@ -19,8 +19,7 @@ package org.apache.james.mailbox.cassandra.mail; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.guava.api.Assertions.assertThat; - +import java.util.Optional; import java.util.stream.LongStream; import org.apache.james.backends.cassandra.CassandraCluster; @@ -37,7 +36,6 @@ import org.junit.Before; import org.junit.Test; import com.github.fge.lambdas.Throwing; -import com.google.common.base.Optional; public class CassandraUidProviderTest { @@ -72,7 +70,7 @@ public class CassandraUidProviderTest { public void lastUidShouldRetrieveValueStoredByNextUid() throws Exception { int nbEntries = 100; Optional<MessageUid> result = uidProvider.lastUid(null, mailbox); - assertThat(result).isAbsent(); + assertThat(result).isEmpty(); LongStream.range(0, nbEntries) .forEach(Throwing.longConsumer(value -> { MessageUid uid = uidProvider.nextUid(null, mailbox); http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java index aca1dc7..ec9f1b4 100644 --- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java +++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java @@ -19,13 +19,11 @@ package org.apache.james.mailbox.elasticsearch.events; import static org.elasticsearch.index.query.QueryBuilders.termQuery; - import java.util.EnumSet; import java.util.Iterator; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; - import javax.inject.Inject; import org.apache.james.backends.es.ElasticSearchIndexer; @@ -100,7 +98,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe return searcher.search(ImmutableList.of(session.getUser()), searchQuery, Optional.empty()) .peek(this::logIfNoMessageId) .map(SearchResult::getMessageId) - .map(com.google.common.base.Optional::get) + .map(Optional::get) .distinct() .limit(limit) .collect(Guavate.toImmutableList()); http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java index 326275d..a6a82d4 100644 --- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java +++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java @@ -38,7 +38,6 @@ import static org.apache.james.mailbox.hbase.HBaseUtils.messageMetaFromResult; import static org.apache.james.mailbox.hbase.HBaseUtils.messageRowKey; import static org.apache.james.mailbox.hbase.HBaseUtils.metadataToPut; import static org.apache.james.mailbox.hbase.HBaseUtils.minMessageRowKey; - import java.io.BufferedInputStream; import java.io.IOException; import java.util.ArrayList; @@ -47,22 +46,9 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; - +import java.util.Optional; import javax.mail.Flags; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.client.Delete; -import org.apache.hadoop.hbase.client.Get; -import org.apache.hadoop.hbase.client.HTable; -import org.apache.hadoop.hbase.client.Put; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.ResultScanner; -import org.apache.hadoop.hbase.client.Scan; -import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; -import org.apache.hadoop.hbase.filter.PrefixFilter; -import org.apache.hadoop.hbase.filter.SingleColumnValueExcludeFilter; -import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; -import org.apache.hadoop.hbase.util.Bytes; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.exception.MailboxException; @@ -84,8 +70,20 @@ import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.MailboxMessage; import org.apache.james.mailbox.store.mail.utils.ApplicableFlagCalculator; import org.apache.james.mailbox.store.transaction.NonTransactionalMapper; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.client.Delete; +import org.apache.hadoop.hbase.client.Get; +import org.apache.hadoop.hbase.client.HTable; +import org.apache.hadoop.hbase.client.Put; +import org.apache.hadoop.hbase.client.Result; +import org.apache.hadoop.hbase.client.ResultScanner; +import org.apache.hadoop.hbase.client.Scan; +import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp; +import org.apache.hadoop.hbase.filter.PrefixFilter; +import org.apache.hadoop.hbase.filter.SingleColumnValueExcludeFilter; +import org.apache.hadoop.hbase.filter.SingleColumnValueFilter; +import org.apache.hadoop.hbase.util.Bytes; -import com.google.common.base.Optional; import com.google.common.collect.Iterables; import com.google.common.collect.Iterators; http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseUidProvider.java ---------------------------------------------------------------------- diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseUidProvider.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseUidProvider.java index d26a16c..d0f2ca4 100644 --- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseUidProvider.java +++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseUidProvider.java @@ -21,14 +21,9 @@ package org.apache.james.mailbox.hbase.mail; import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOXES_TABLE; import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOX_CF; import static org.apache.james.mailbox.hbase.HBaseNames.MAILBOX_LASTUID; - import java.io.IOException; +import java.util.Optional; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.client.Get; -import org.apache.hadoop.hbase.client.HTable; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.util.Bytes; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.exception.MailboxException; @@ -36,8 +31,11 @@ import org.apache.james.mailbox.hbase.HBaseId; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.store.mail.UidProvider; import org.apache.james.mailbox.store.mail.model.Mailbox; - -import com.google.common.base.Optional; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.client.Get; +import org.apache.hadoop.hbase.client.HTable; +import org.apache.hadoop.hbase.client.Result; +import org.apache.hadoop.hbase.util.Bytes; /** * Message UidProvider for HBase. * @@ -73,7 +71,7 @@ public class HBaseUidProvider implements UidProvider { } long rawUid = Bytes.toLong(result.getValue(MAILBOX_CF, MAILBOX_LASTUID)); if (rawUid == 0) { - return Optional.absent(); + return Optional.empty(); } return Optional.of(MessageUid.of(rawUid)); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java ---------------------------------------------------------------------- diff --git a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java index 6b6f995..3ff0103 100644 --- a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java +++ b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/mail/HBaseUidAndModSeqProviderTest.java @@ -30,24 +30,22 @@ import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTIONS; import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTIONS_TABLE; import static org.apache.james.mailbox.hbase.HBaseNames.SUBSCRIPTION_CF; import static org.junit.Assert.assertEquals; - import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Optional; -import org.apache.hadoop.conf.Configuration; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.hbase.HBaseClusterSingleton; import org.apache.james.mailbox.hbase.mail.model.HBaseMailbox; import org.apache.james.mailbox.model.MailboxPath; +import org.apache.hadoop.conf.Configuration; import org.junit.Before; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; - /** * Unit tests for UidProvider and ModSeqProvider. * @@ -131,7 +129,7 @@ public class HBaseUidAndModSeqProviderTest { pathsList.add(path); MailboxSession session = null; Optional<MessageUid> result = uidProvider.lastUid(session, newBox); - assertEquals(Optional.absent(), result); + assertEquals(Optional.empty(), result); for (int i = 1; i < 10; i++) { MessageUid uid = uidProvider.nextUid(session, newBox); assertEquals(uid, uidProvider.lastUid(session, newBox).get()); http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRUidProvider.java ---------------------------------------------------------------------- diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRUidProvider.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRUidProvider.java index 824f953..f26e187 100644 --- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRUidProvider.java +++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRUidProvider.java @@ -18,6 +18,7 @@ ****************************************************************/ package org.apache.james.mailbox.jcr.mail; +import java.util.Optional; import javax.jcr.Node; import javax.jcr.RepositoryException; import javax.jcr.Session; @@ -31,8 +32,6 @@ import org.apache.james.mailbox.jcr.mail.model.JCRMailbox; import org.apache.james.mailbox.store.mail.AbstractLockingUidProvider; import org.apache.james.mailbox.store.mail.model.Mailbox; -import com.google.common.base.Optional; - public class JCRUidProvider extends AbstractLockingUidProvider { private final MailboxSessionJCRRepository repository; @@ -49,7 +48,7 @@ public class JCRUidProvider extends AbstractLockingUidProvider { Node node = s.getNodeByIdentifier(mailbox.getMailboxId().serialize()); long rawUid = node.getProperty(JCRMailbox.LASTUID_PROPERTY).getLong(); if (rawUid == 0) { - return Optional.absent(); + return Optional.empty(); } return Optional.of(MessageUid.of(rawUid)); } catch (RepositoryException e) { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerStressTest.java ---------------------------------------------------------------------- diff --git a/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerStressTest.java b/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerStressTest.java index cf7ade7..5a9c27c 100644 --- a/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerStressTest.java +++ b/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerStressTest.java @@ -20,22 +20,21 @@ package org.apache.james.mailbox.jcr; import static org.apache.james.mailbox.jcr.JCRMailboxManagerProvider.JACKRABBIT_HOME; - import java.io.File; import java.io.IOException; +import java.util.Optional; -import org.apache.commons.io.FileUtils; -import org.apache.jackrabbit.core.RepositoryImpl; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxManagerStressTest; +import org.apache.commons.io.FileUtils; +import org.apache.jackrabbit.core.RepositoryImpl; import org.junit.After; -import com.google.common.base.Optional; import com.google.common.base.Throwables; public class JCRMailboxManagerStressTest extends MailboxManagerStressTest { - private Optional<RepositoryImpl> repository = Optional.absent(); + private Optional<RepositoryImpl> repository = Optional.empty(); @Override protected MailboxManager provideManager() { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java b/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java index 64852a7..4970196 100644 --- a/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java +++ b/mailbox/jcr/src/test/java/org/apache/james/mailbox/jcr/JCRMailboxManagerTest.java @@ -19,22 +19,21 @@ package org.apache.james.mailbox.jcr; import static org.apache.james.mailbox.jcr.JCRMailboxManagerProvider.JACKRABBIT_HOME; - import java.io.File; import java.io.IOException; +import java.util.Optional; -import org.apache.commons.io.FileUtils; -import org.apache.jackrabbit.core.RepositoryImpl; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxManagerTest; +import org.apache.commons.io.FileUtils; +import org.apache.jackrabbit.core.RepositoryImpl; import org.junit.After; -import com.google.common.base.Optional; import com.google.common.base.Throwables; public class JCRMailboxManagerTest extends MailboxManagerTest { - private Optional<RepositoryImpl> repository = Optional.absent(); + private Optional<RepositoryImpl> repository = Optional.empty(); @Override protected MailboxManager provideMailboxManager() { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java index 84a78c6..b0ce1ed 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java @@ -20,8 +20,8 @@ package org.apache.james.mailbox.jpa.mail; import java.util.List; +import java.util.Optional; import java.util.Set; - import javax.persistence.EntityManagerFactory; import javax.persistence.NoResultException; import javax.persistence.PersistenceException; @@ -38,7 +38,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Throwables; @@ -147,18 +146,18 @@ public class JPAAnnotationMapper extends JPATransactionalMapper implements Annot getEntityManager().persist( new JPAMailboxAnnotation(jpaId.getRawId(), mailboxAnnotation.getKey().asString(), - mailboxAnnotation.getValue().orNull())); + mailboxAnnotation.getValue().orElse(null))); } else { getEntityManager().find(JPAMailboxAnnotation.class, new JPAMailboxAnnotationId(jpaId.getRawId(), mailboxAnnotation.getKey().asString())) - .setValue(mailboxAnnotation.getValue().orNull()); + .setValue(mailboxAnnotation.getValue().orElse(null)); } } @Override public boolean exist(MailboxId mailboxId, MailboxAnnotation mailboxAnnotation) { JPAId jpaId = (JPAId) mailboxId; - Optional<JPAMailboxAnnotation> row = Optional.fromNullable(getEntityManager().find(JPAMailboxAnnotation.class, + Optional<JPAMailboxAnnotation> row = Optional.ofNullable(getEntityManager().find(JPAMailboxAnnotation.class, new JPAMailboxAnnotationId(jpaId.getRawId(), mailboxAnnotation.getKey().asString()))); return row.isPresent(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java index 8e59765..32d33e4 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java @@ -22,7 +22,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; - +import java.util.Optional; import javax.mail.Flags; import javax.persistence.EntityManagerFactory; import javax.persistence.PersistenceException; @@ -55,7 +55,6 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage; import org.apache.james.mailbox.store.mail.utils.ApplicableFlagCalculator; import org.apache.openjpa.persistence.ArgumentException; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterators; http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java index 08d391d..bbf9f9b 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java @@ -18,6 +18,7 @@ ****************************************************************/ package org.apache.james.mailbox.jpa.mail; +import java.util.Optional; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; @@ -32,8 +33,6 @@ import org.apache.james.mailbox.jpa.mail.model.JPAMailbox; import org.apache.james.mailbox.store.mail.AbstractLockingUidProvider; import org.apache.james.mailbox.store.mail.model.Mailbox; -import com.google.common.base.Optional; - public class JPAUidProvider extends AbstractLockingUidProvider { private final EntityManagerFactory factory; @@ -55,7 +54,7 @@ public class JPAUidProvider extends AbstractLockingUidProvider { long uid = (Long) manager.createNamedQuery("findLastUid").setParameter("idParam", mailboxId.getRawId()).getSingleResult(); manager.getTransaction().commit(); if (uid == 0) { - return Optional.absent(); + return Optional.empty(); } return Optional.of(MessageUid.of(uid)); } catch (PersistenceException e) { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/quota/JpaCurrentQuotaManager.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/quota/JpaCurrentQuotaManager.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/quota/JpaCurrentQuotaManager.java index 27db807..af334b4 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/quota/JpaCurrentQuotaManager.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/quota/JpaCurrentQuotaManager.java @@ -19,6 +19,7 @@ package org.apache.james.mailbox.jpa.quota; +import java.util.Optional; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; @@ -29,7 +30,6 @@ import org.apache.james.mailbox.jpa.quota.model.JpaCurrentQuota; import org.apache.james.mailbox.model.QuotaRoot; import org.apache.james.mailbox.store.quota.StoreCurrentQuotaManager; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; public class JpaCurrentQuotaManager implements StoreCurrentQuotaManager { @@ -74,8 +74,8 @@ public class JpaCurrentQuotaManager implements StoreCurrentQuotaManager { Preconditions.checkArgument(count > 0, "Counts should be positive"); Preconditions.checkArgument(size > 0, "Size should be positive"); - JpaCurrentQuota jpaCurrentQuota = Optional.fromNullable(retrieveUserQuota(quotaRoot)) - .or(new JpaCurrentQuota(quotaRoot.getValue(), NO_MESSAGES, NO_STORED_BYTES)); + JpaCurrentQuota jpaCurrentQuota = Optional.ofNullable(retrieveUserQuota(quotaRoot)) + .orElse(new JpaCurrentQuota(quotaRoot.getValue(), NO_MESSAGES, NO_STORED_BYTES)); entityManager.merge(new JpaCurrentQuota(quotaRoot.getValue(), jpaCurrentQuota.getMessageCount() + count, @@ -87,8 +87,8 @@ public class JpaCurrentQuotaManager implements StoreCurrentQuotaManager { Preconditions.checkArgument(count > 0, "Counts should be positive"); Preconditions.checkArgument(size > 0, "Counts should be positive"); - JpaCurrentQuota jpaCurrentQuota = Optional.fromNullable(retrieveUserQuota(quotaRoot)) - .or(new JpaCurrentQuota(quotaRoot.getValue(), NO_MESSAGES, NO_STORED_BYTES)); + JpaCurrentQuota jpaCurrentQuota = Optional.ofNullable(retrieveUserQuota(quotaRoot)) + .orElse(new JpaCurrentQuota(quotaRoot.getValue(), NO_MESSAGES, NO_STORED_BYTES)); entityManager.merge(new JpaCurrentQuota(quotaRoot.getValue(), jpaCurrentQuota.getMessageCount() - count, http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java index 6a53323..c6b5fda 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java @@ -18,6 +18,8 @@ ****************************************************************/ package org.apache.james.mailbox.jpa; +import java.util.Optional; + import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxManagerTest; @@ -25,12 +27,10 @@ import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager; import org.junit.After; -import com.google.common.base.Optional; - public class JPAMailboxManagerTest extends MailboxManagerTest { private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES); - private Optional<OpenJPAMailboxManager> openJPAMailboxManager = Optional.absent(); + private Optional<OpenJPAMailboxManager> openJPAMailboxManager = Optional.empty(); @Override protected MailboxManager provideMailboxManager() { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java index fc05755..a3ed58c 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerStressTest.java @@ -19,6 +19,8 @@ package org.apache.james.mailbox.jpa; +import java.util.Optional; + import org.apache.james.backends.jpa.JpaTestCluster; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxManagerStressTest; @@ -26,12 +28,10 @@ import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager; import org.junit.After; -import com.google.common.base.Optional; - public class JpaMailboxManagerStressTest extends MailboxManagerStressTest { private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES); - private Optional<OpenJPAMailboxManager> openJPAMailboxManager = Optional.absent(); + private Optional<OpenJPAMailboxManager> openJPAMailboxManager = Optional.empty(); @Override protected MailboxManager provideManager() { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java index 8b57d05..0bfd7f5 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java @@ -22,10 +22,9 @@ package org.apache.james.mailbox.jpa.mail; import java.util.Iterator; import java.util.List; import java.util.Map; - +import java.util.Optional; import javax.mail.Flags; -import org.apache.commons.lang.NotImplementedException; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.model.MailboxCounters; @@ -36,8 +35,7 @@ import org.apache.james.mailbox.store.FlagsUpdateCalculator; import org.apache.james.mailbox.store.mail.MessageMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.MailboxMessage; - -import com.google.common.base.Optional; +import org.apache.commons.lang.NotImplementedException; public class TransactionalMessageMapper implements MessageMapper { private final JPAMessageMapper messageMapper; http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java ---------------------------------------------------------------------- diff --git a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java index 3227bef..99fab8d 100644 --- a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java +++ b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java @@ -33,9 +33,9 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Locale; +import java.util.Optional; import java.util.Set; import java.util.TimeZone; - import javax.inject.Inject; import javax.mail.Flags; import javax.mail.Flags.Flag; @@ -122,7 +122,6 @@ import org.apache.lucene.util.Version; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; @@ -506,7 +505,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex { Document doc = searcher.doc(sDoc.doc); MessageUid uid = MessageUid.of(Long.valueOf(doc.get(UID_FIELD))); MailboxId mailboxId = mailboxIdFactory.fromString(doc.get(MAILBOX_ID_FIELD)); - Optional<MessageId> messageId = toMessageId(Optional.fromNullable(doc.get(MESSAGE_ID_FIELD))); + Optional<MessageId> messageId = toMessageId(Optional.ofNullable(doc.get(MESSAGE_ID_FIELD))); results.add(new SearchResult(messageId, mailboxId, uid)); } } catch (IOException e) { @@ -527,7 +526,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex { if (messageIdField.isPresent()) { return Optional.of(messageIdFactory.fromString(messageIdField.get())); } - return Optional.absent(); + return Optional.empty(); } private Query buildQueryFromMailboxes(ImmutableSet<MailboxId> mailboxIds) { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java ---------------------------------------------------------------------- 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 dd1ee8e..03e6b8f 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 @@ -35,13 +35,11 @@ import java.util.LinkedList; import java.util.Map; import java.util.Map.Entry; import java.util.NoSuchElementException; +import java.util.Optional; import java.util.Properties; import java.util.SortedMap; import java.util.TreeMap; -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.ArrayUtils; import org.apache.james.mailbox.MailboxPathLocker; import org.apache.james.mailbox.MailboxPathLocker.LockAwareExecution; import org.apache.james.mailbox.MailboxSession; @@ -52,11 +50,12 @@ import org.apache.james.mailbox.model.MailboxACL.MailboxACLEntryKey; import org.apache.james.mailbox.model.MailboxACL.MailboxACLRights; import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.SimpleMailboxACL; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang.ArrayUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; - public class MaildirFolder { private static final Logger LOGGER = LoggerFactory.getLogger(MaildirFolder.class); @@ -98,7 +97,7 @@ public class MaildirFolder { this.aclFile = new File(rootFolder, ACL_FILE); this.locker = locker; this.path = path; - this.lastUid = Optional.absent(); + this.lastUid = Optional.empty(); } private MaildirMessageName newMaildirMessageName(MaildirFolder folder, String fullName) { @@ -189,7 +188,7 @@ public class MaildirFolder { * Returns the nextUid value and increases it. */ private MessageUid getNextUid() { - MessageUid nextUid = lastUid.transform(MessageUid::next).or(MessageUid.MIN_VALUE); + MessageUid nextUid = lastUid.map(MessageUid::next).orElse(MessageUid.MIN_VALUE); lastUid = Optional.of(nextUid); return nextUid; } @@ -546,7 +545,7 @@ public class MaildirFolder { try { if (!uidList.createNewFile()) throw new IOException("Could not create file " + uidList); - lastUid = Optional.absent(); + lastUid = Optional.empty(); String[] curFiles = curFolder.list(); String[] newFiles = newFolder.list(); messageCount = curFiles.length + newFiles.length; @@ -708,7 +707,7 @@ public class MaildirFolder { * @return the line which ought to be the header */ private String createUidListHeader() { - Long last = lastUid.transform(MessageUid::asLong).or(0L); + Long last = lastUid.map(MessageUid::asLong).orElse(0L); return "1 " + String.valueOf(last) + " " + String.valueOf(messageCount); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java ---------------------------------------------------------------------- diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java index bdc0c15..2ebb5e6 100644 --- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java +++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java @@ -21,8 +21,8 @@ package org.apache.james.mailbox.maildir; import java.io.File; import java.io.IOException; import java.util.Locale; +import java.util.Optional; -import org.apache.commons.lang.NotImplementedException; import org.apache.james.mailbox.MailboxPathLocker; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; @@ -36,8 +36,7 @@ import org.apache.james.mailbox.store.mail.ModSeqProvider; import org.apache.james.mailbox.store.mail.UidProvider; import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox; - -import com.google.common.base.Optional; +import org.apache.commons.lang.NotImplementedException; public class MaildirStore implements UidProvider, ModSeqProvider { @@ -246,8 +245,8 @@ public class MaildirStore implements UidProvider, ModSeqProvider { public MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException { try { return createMaildirFolder(mailbox).getLastUid(session) - .transform(MessageUid::next) - .or(MessageUid.MIN_VALUE); + .map(MessageUid::next) + .orElse(MessageUid.MIN_VALUE); } catch (MailboxException e) { throw new MailboxException("Unable to generate next uid", e); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java index da4c730..6246af9 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java @@ -21,7 +21,8 @@ package org.apache.james.mailbox.inmemory; import java.util.HashSet; import java.util.List; - +import java.util.Optional; +import java.util.function.Predicate; import javax.inject.Inject; import javax.mail.Flags; @@ -42,8 +43,6 @@ import org.apache.james.mailbox.model.MessageRange; import org.apache.james.mailbox.model.MessageResult; import org.apache.james.mailbox.model.MessageResult.FetchGroup; -import com.google.common.base.Optional; -import com.google.common.base.Predicate; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; @@ -146,9 +145,8 @@ public class InMemoryMessageIdManager implements MessageIdManager { } private void filterOnMailboxSession(List<MailboxId> mailboxIds, MailboxSession mailboxSession) throws MailboxNotFoundException { - boolean isForbidden = FluentIterable.from(mailboxIds) - .firstMatch(findMailboxBelongsToAnotherSession(mailboxSession)) - .isPresent(); + boolean isForbidden = mailboxIds.stream() + .anyMatch(findMailboxBelongsToAnotherSession(mailboxSession)); if (isForbidden) { throw new MailboxNotFoundException("Mailbox does not belong to session"); @@ -172,9 +170,10 @@ public class InMemoryMessageIdManager implements MessageIdManager { } private Optional<MessageResult> findMessageWithId(MailboxId mailboxId, MessageId messageId, FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxException { - return FluentIterable.from(retrieveAllMessages(mailboxId, fetchGroup, mailboxSession)) + return retrieveAllMessages(mailboxId, fetchGroup, mailboxSession) + .stream() .filter(filterByMessageId(messageId)) - .first(); + .findFirst(); } private Predicate<MessageResult> filterByMessageId(final MessageId messageId) { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java index d3f4637..e396880 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryUidProvider.java @@ -19,6 +19,7 @@ package org.apache.james.mailbox.inmemory.mail; +import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicLong; @@ -31,8 +32,6 @@ import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.store.mail.UidProvider; import org.apache.james.mailbox.store.mail.model.Mailbox; -import com.google.common.base.Optional; - public class InMemoryUidProvider implements UidProvider{ private final ConcurrentMap<InMemoryId, AtomicLong> map = new ConcurrentHashMap<>(); @@ -62,7 +61,7 @@ public class InMemoryUidProvider implements UidProvider{ public Optional<MessageUid> lastUid(MailboxSession session, Mailbox mailbox) throws MailboxException { AtomicLong last = getLast((InMemoryId) mailbox.getMailboxId()); if (last == null) { - return Optional.absent(); + return Optional.empty(); } return Optional.of(MessageUid.of(last.get())); } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java index 5e823ef..7c0b77e 100644 --- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java +++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java @@ -20,7 +20,7 @@ package org.apache.james.mailbox.inmemory; import java.io.ByteArrayInputStream; import java.util.Date; - +import java.util.Optional; import javax.mail.Flags; import org.apache.james.mailbox.MailboxManager; @@ -38,9 +38,7 @@ import org.apache.james.mailbox.store.mail.model.Mailbox; import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox; import com.google.common.base.Charsets; -import com.google.common.base.Optional; import com.google.common.base.Throwables; -import com.google.common.collect.FluentIterable; public class InMemoryMessageIdManagerTestSystem extends MessageIdManagerTestSystem { @@ -55,7 +53,7 @@ public class InMemoryMessageIdManagerTestSystem extends MessageIdManagerTestSyst public InMemoryMessageIdManagerTestSystem(MailboxManager mailboxManager) { super(new InMemoryMessageIdManager(mailboxManager)); this.mailboxManager = mailboxManager; - this.lastMessageIdUsed = Optional.absent(); + this.lastMessageIdUsed = Optional.empty(); } @Override @@ -80,7 +78,7 @@ public class InMemoryMessageIdManagerTestSystem extends MessageIdManagerTestSyst @Override public MessageId createNotUsedMessageId() { - return InMemoryMessageId.of(Long.valueOf(lastMessageIdUsed.or(FIRST_MESSAGE_ID).serialize()) + ONE_HUNDRED); + return InMemoryMessageId.of(Long.valueOf(lastMessageIdUsed.orElse(FIRST_MESSAGE_ID).serialize()) + ONE_HUNDRED); } @Override @@ -97,9 +95,10 @@ public class InMemoryMessageIdManagerTestSystem extends MessageIdManagerTestSyst private Optional<MailboxMetaData> retrieveMailbox(final MailboxId mailboxId, MailboxSession mailboxSession) throws MailboxException { MailboxQuery userMailboxesQuery = MailboxQuery.builder(mailboxSession).expression("*").build(); - return FluentIterable.from(mailboxManager.search(userMailboxesQuery, mailboxSession)) + return mailboxManager.search(userMailboxesQuery, mailboxSession) + .stream() .filter(mailboxMetaData -> mailboxMetaData.getId().equals(mailboxId)) - .first(); + .findFirst(); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/store/src/main/java/org/apache/james/mailbox/store/BatchSizes.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/BatchSizes.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/BatchSizes.java index 8b079b7..ec07b52 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/BatchSizes.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/BatchSizes.java @@ -19,9 +19,10 @@ package org.apache.james.mailbox.store; +import java.util.Optional; + import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; public class BatchSizes { @@ -57,12 +58,12 @@ public class BatchSizes { private Optional<Integer> moveBatchSize; private Builder() { - fetchMetadata = Optional.absent(); - fetchHeaders = Optional.absent(); - fetchBody = Optional.absent(); - fetchFull = Optional.absent(); - copyBatchSize = Optional.absent(); - moveBatchSize = Optional.absent(); + fetchMetadata = Optional.empty(); + fetchHeaders = Optional.empty(); + fetchBody = Optional.empty(); + fetchFull = Optional.empty(); + copyBatchSize = Optional.empty(); + moveBatchSize = Optional.empty(); } public Builder fetchMetadata(int batchSize) { @@ -103,12 +104,12 @@ public class BatchSizes { public BatchSizes build() { return new BatchSizes( - fetchMetadata.or(DEFAULT_BATCH_SIZE), - fetchHeaders.or(DEFAULT_BATCH_SIZE), - fetchBody.or(DEFAULT_BATCH_SIZE), - fetchFull.or(DEFAULT_BATCH_SIZE), - copyBatchSize.or(DEFAULT_BATCH_SIZE), - moveBatchSize.or(DEFAULT_BATCH_SIZE)); + fetchMetadata.orElse(DEFAULT_BATCH_SIZE), + fetchHeaders.orElse(DEFAULT_BATCH_SIZE), + fetchBody.orElse(DEFAULT_BATCH_SIZE), + fetchFull.orElse(DEFAULT_BATCH_SIZE), + copyBatchSize.orElse(DEFAULT_BATCH_SIZE), + moveBatchSize.orElse(DEFAULT_BATCH_SIZE)); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthorizator.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthorizator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthorizator.java index 948ed55..556affe 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthorizator.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/FakeAuthorizator.java @@ -18,12 +18,12 @@ ****************************************************************/ package org.apache.james.mailbox.store; -import com.google.common.base.Optional; +import java.util.Optional; public class FakeAuthorizator implements Authorizator { public static FakeAuthorizator defaultReject() { - return new FakeAuthorizator(Optional.<String>absent(), Optional.<String>absent()); + return new FakeAuthorizator(Optional.empty(), Optional.empty()); } public static FakeAuthorizator forUserAndAdmin(String admin, String user) { http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java index c51bd2b..dff2799 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java @@ -23,9 +23,9 @@ import java.util.ArrayList; import java.util.Collections; import java.util.EnumSet; import java.util.List; +import java.util.Optional; import java.util.Random; import java.util.Set; - import javax.annotation.PostConstruct; import javax.inject.Inject; @@ -85,7 +85,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.github.steveash.guavate.Guavate; -import com.google.common.base.Optional; import com.google.common.collect.FluentIterable; import com.google.common.collect.Iterables; @@ -568,10 +567,10 @@ public class StoreMailboxManager implements MailboxManager { }, true); if (!mailboxIds.isEmpty()) { - return Optional.fromNullable(Iterables.getLast(mailboxIds)); + return Optional.ofNullable(Iterables.getLast(mailboxIds)); } } - return Optional.absent(); + return Optional.empty(); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/aa1920b9/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java index 4643fc1..16dab9d 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java @@ -25,7 +25,9 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; - +import java.util.Optional; +import java.util.function.Function; +import java.util.function.Predicate; import javax.inject.Inject; import javax.mail.Flags; import javax.mail.internet.SharedInputStream; @@ -57,10 +59,7 @@ import org.apache.james.mailbox.store.quota.QuotaChecker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Function; -import com.google.common.base.Optional; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; +import com.github.steveash.guavate.Guavate; import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; @@ -69,6 +68,14 @@ import com.google.common.collect.Sets.SetView; public class StoreMessageIdManager implements MessageIdManager { private static final Logger LOGGER = LoggerFactory.getLogger(StoreMessageIdManager.class); + public static <T, S> Predicate<T> compose(Predicate<S> predicate, Function<T, S> function) { + return input -> predicate.test(function.apply(input)); + } + + static<T> Predicate<T> not(Predicate<T> p) { + return t -> !p.test(t); + } + private final MailboxSessionMapperFactory mailboxSessionMapperFactory; private final MailboxEventDispatcher dispatcher; private final MessageId.Factory messageIdFactory; @@ -108,13 +115,13 @@ public class StoreMessageIdManager implements MessageIdManager { ImmutableSet<MailboxId> mailboxIds = FluentIterable.from(messageList) .transform(MailboxMessage::getMailboxId) .toSet(); - final ImmutableSet<MailboxId> allowedMailboxIds = FluentIterable.from(mailboxIds) + final ImmutableSet<MailboxId> allowedMailboxIds = mailboxIds.stream() .filter(mailboxBelongsToUser(mailboxSession, mailboxMapper)) - .toSet(); - return FluentIterable.from(messageList) + .collect(Guavate.toImmutableSet()); + return messageList.stream() .filter(inMailboxes(allowedMailboxIds)) - .transform(messageResultConverter(fetchGroup)) - .toList(); + .map(messageResultConverter(fetchGroup)) + .collect(Guavate.toImmutableList()); } catch (WrappedException wrappedException) { throw wrappedException.unwrap(); } @@ -127,12 +134,13 @@ public class StoreMessageIdManager implements MessageIdManager { allowOnMailboxSession(mailboxIds, mailboxSession, mailboxMapper); - Iterable<MetadataWithMailboxId> metadatasWithMailbox = FluentIterable - .from(messageIdMapper.find(ImmutableList.of(messageId), MessageMapper.FetchType.Metadata)) + ImmutableList<MetadataWithMailboxId> metadatasWithMailbox = messageIdMapper.find(ImmutableList.of(messageId), MessageMapper.FetchType.Metadata) + .stream() .filter(inMailboxes(mailboxIds)) - .transform(mailboxMessage -> new MetadataWithMailboxId( + .map(mailboxMessage -> new MetadataWithMailboxId( new SimpleMessageMetaData(mailboxMessage), - mailboxMessage.getMailboxId())); + mailboxMessage.getMailboxId())) + .collect(Guavate.toImmutableList()); messageIdMapper.delete(messageId, mailboxIds); @@ -148,9 +156,16 @@ public class StoreMessageIdManager implements MessageIdManager { allowOnMailboxSession(mailboxIds, mailboxSession, mailboxMapper); - List<MailboxMessage> mailboxMessages = FluentIterable.from(messageIdMapper.find(ImmutableList.of(messageId), MessageMapper.FetchType.Full)) + List<MailboxMessage> mailboxMessages = messageIdMapper.find(ImmutableList.of(messageId), MessageMapper.FetchType.Full) + .stream() + .filter(new Predicate<MailboxMessage>() { + @Override + public boolean test(MailboxMessage message) { + return false; + } + }) .filter(messageBelongsToUser(mailboxSession, mailboxMapper)) - .toList(); + .collect(Guavate.toImmutableList()); if (!mailboxMessages.isEmpty()) { ImmutableSet<MailboxId> currentMailboxes = FluentIterable.from(mailboxMessages) @@ -209,12 +224,14 @@ public class StoreMessageIdManager implements MessageIdManager { Map<QuotaRoot, Integer> messageCountByQuotaRoot = new HashMap<>(); for (MailboxId mailboxId : mailboxIdsToBeAdded) { QuotaRoot quotaRoot = retrieveQuotaRoot(mailboxMapper, mailboxId); - int currentCount = Optional.fromNullable(messageCountByQuotaRoot.get(quotaRoot)).or(0); + int currentCount = Optional.ofNullable(messageCountByQuotaRoot.get(quotaRoot)) + .orElse(0); messageCountByQuotaRoot.put(quotaRoot, currentCount + 1); } for (MailboxId mailboxId : mailboxIdsToBeRemove) { QuotaRoot quotaRoot = retrieveQuotaRoot(mailboxMapper, mailboxId); - int currentCount = Optional.fromNullable(messageCountByQuotaRoot.get(quotaRoot)).or(0); + int currentCount = Optional.ofNullable(messageCountByQuotaRoot.get(quotaRoot)) + .orElse(0); messageCountByQuotaRoot.put(quotaRoot, currentCount - 1); } return messageCountByQuotaRoot; @@ -269,15 +286,14 @@ public class StoreMessageIdManager implements MessageIdManager { } private Predicate<MailboxMessage> messageBelongsToUser(MailboxSession mailboxSession, MailboxMapper mailboxMapper) { - return Predicates.compose( - mailboxBelongsToUser(mailboxSession, mailboxMapper), + return compose(mailboxBelongsToUser(mailboxSession, mailboxMapper), MailboxMessage::getMailboxId); } private void allowOnMailboxSession(List<MailboxId> mailboxIds, MailboxSession mailboxSession, MailboxMapper mailboxMapper) throws MailboxNotFoundException { - Optional<MailboxId> mailboxForbidden = FluentIterable.from(mailboxIds) - .firstMatch(isMailboxOfOtherUser(mailboxSession, mailboxMapper)) - .or(Optional.<MailboxId>absent()); + Optional<MailboxId> mailboxForbidden = mailboxIds.stream() + .filter(isMailboxOfOtherUser(mailboxSession, mailboxMapper)) + .findFirst(); if (mailboxForbidden.isPresent()) { throw new MailboxNotFoundException("Mailbox with Id " + mailboxForbidden.get() + " does not belong to session"); @@ -285,7 +301,7 @@ public class StoreMessageIdManager implements MessageIdManager { } private Predicate<MailboxId> isMailboxOfOtherUser(MailboxSession mailboxSession, MailboxMapper mailboxMapper) { - return Predicates.not(mailboxBelongsToUser(mailboxSession, mailboxMapper)); + return not(mailboxBelongsToUser(mailboxSession, mailboxMapper)); } private boolean belongsToCurrentUser(Mailbox mailbox, MailboxSession session) { --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org