JAMES-2127 Protocols: 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/1629c5a1
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1629c5a1
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1629c5a1

Branch: refs/heads/master
Commit: 1629c5a1c08aba964ad9961fa9c92d354be02db7
Parents: 3de1401
Author: quynhn <qngu...@linagora.com>
Authored: Fri Aug 25 15:24:23 2017 +0700
Committer: quynhn <qngu...@linagora.com>
Committed: Wed Aug 30 11:08:48 2017 +0700

----------------------------------------------------------------------
 .../james/imap/api/ImapConfiguration.java       | 18 +++++++--------
 .../james/imap/api/process/SelectedMailbox.java |  4 +---
 .../parser/GetAnnotationCommandParser.java      |  3 ++-
 .../parser/SetAnnotationCommandParser.java      | 11 +++++----
 .../imap/encode/AnnotationResponseEncoder.java  |  7 +++---
 .../message/request/GetAnnotationRequest.java   |  8 +++----
 .../imap/processor/AbstractAuthProcessor.java   |  5 ++--
 .../processor/AbstractMailboxProcessor.java     | 24 +++++++++-----------
 .../processor/AbstractSelectionProcessor.java   |  6 +++--
 .../imap/processor/GetAnnotationProcessor.java  | 18 +++++++--------
 .../james/imap/processor/SearchProcessor.java   | 15 ++++++------
 .../processor/base/SelectedMailboxImpl.java     |  7 +++---
 .../imap/processor/base/UidMsnConverter.java    |  8 +++----
 .../parser/GetAnnotationCommandParserTest.java  | 13 +++++------
 .../james/imap/processor/CopyProcessorTest.java |  6 ++---
 .../processor/GetAnnotationProcessorTest.java   |  9 ++++----
 .../james/imap/processor/MoveProcessorTest.java |  6 ++---
 .../imap/processor/SearchProcessorTest.java     |  5 ++--
 .../base/MailboxEventAnalyserTest.java          |  6 ++---
 .../processor/base/UidMsnConverterTest.java     | 16 ++++++-------
 .../james/protocols/netty/NettyServer.java      | 18 +++++++--------
 .../smtp/netty/NettyStartTlsSMTPServerTest.java | 24 +++++++++-----------
 22 files changed, 113 insertions(+), 124 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java 
b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java
index 3ef0a13..48295e4 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/api/ImapConfiguration.java
@@ -19,13 +19,13 @@
 
 package org.apache.james.imap.api;
 
+import java.util.Optional;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.lang.StringUtils;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Objects;
-import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableSet;
@@ -53,11 +53,11 @@ public class ImapConfiguration {
         private Optional<Boolean> isCondstoreEnable;
 
         private Builder() {
-            this.idleTimeInterval = Optional.absent();
-            this.idleTimeIntervalUnit = Optional.absent();
-            this.enableIdle = Optional.absent();
+            this.idleTimeInterval = Optional.empty();
+            this.idleTimeIntervalUnit = Optional.empty();
+            this.enableIdle = Optional.empty();
             this.disabledCaps = ImmutableSet.of();
-            this.isCondstoreEnable = Optional.absent();
+            this.isCondstoreEnable = Optional.empty();
         }
 
         public Builder idleTimeInterval(long idleTimeInterval) {
@@ -102,11 +102,11 @@ public class ImapConfiguration {
                     .transform(StringUtils::normalizeSpace)
                     .toSet();
             return new ImapConfiguration(
-                    enableIdle.or(DEFAULT_ENABLE_IDLE),
-                    idleTimeInterval.or(DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS),
-                    idleTimeIntervalUnit.or(DEFAULT_HEARTBEAT_INTERVAL_UNIT),
+                    enableIdle.orElse(DEFAULT_ENABLE_IDLE),
+                    
idleTimeInterval.orElse(DEFAULT_HEARTBEAT_INTERVAL_IN_SECONDS),
+                    
idleTimeIntervalUnit.orElse(DEFAULT_HEARTBEAT_INTERVAL_UNIT),
                     normalizeDisableCaps,
-                    isCondstoreEnable.or(DEFAULT_CONDSTORE_DISABLE));
+                    isCondstoreEnable.orElse(DEFAULT_CONDSTORE_DISABLE));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java
index 9ff8261..710eba5 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/api/process/SelectedMailbox.java
@@ -20,14 +20,12 @@
 package org.apache.james.imap.api.process;
 
 import java.util.Collection;
-
+import java.util.Optional;
 import javax.mail.Flags;
 
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.model.MailboxPath;
 
-import com.google.common.base.Optional;
-
 /**
  * Interface which represent a selected Mailbox during the selected state
  */

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
index 55484db..1e32fac 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParser.java
@@ -19,6 +19,8 @@
 
 package org.apache.james.imap.decode.parser;
 
+import java.util.Optional;
+
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.ImapMessage;
@@ -32,7 +34,6 @@ import org.apache.james.mailbox.model.MailboxAnnotationKey;
 import org.apache.james.protocols.imap.DecodingException;
 
 import com.google.common.base.CharMatcher;
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.ImmutableSet.Builder;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
index 0b52bd7..b7ea830 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/SetAnnotationCommandParser.java
@@ -19,6 +19,9 @@
 
 package org.apache.james.imap.decode.parser;
 
+import java.util.Optional;
+import java.util.function.Function;
+
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.ImapMessage;
@@ -31,8 +34,6 @@ import org.apache.james.mailbox.model.MailboxAnnotation;
 import org.apache.james.mailbox.model.MailboxAnnotationKey;
 import org.apache.james.protocols.imap.DecodingException;
 
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableList;
 
 public class SetAnnotationCommandParser extends AbstractImapCommandParser {
@@ -65,9 +66,9 @@ public class SetAnnotationCommandParser extends 
AbstractImapCommandParser {
             String key = request.atom();
             String value = request.nstring();
 
-            return Optional.fromNullable(value)
-                .transform(transforMailboxAnnotation(key))
-                .or(MailboxAnnotation.nil(createAnnotationKey(key)));
+            return Optional.ofNullable(value)
+                .map(transforMailboxAnnotation(key))
+                .orElse(MailboxAnnotation.nil(createAnnotationKey(key)));
         } catch (IllegalArgumentException e) {
             throw new DecodingException(HumanReadableText.ILLEGAL_ARGUMENTS, 
"The key is not valid: " + e.getMessage());
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java
index 9f7543c..3026647 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/AnnotationResponseEncoder.java
@@ -21,6 +21,7 @@ package org.apache.james.imap.encode;
 
 import java.io.IOException;
 import java.util.List;
+import java.util.Optional;
 
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.ImapMessage;
@@ -31,8 +32,6 @@ import org.apache.james.mailbox.model.MailboxAnnotation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
-
 public class AnnotationResponseEncoder extends AbstractChainedImapEncoder {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(AnnotationResponseEncoder.class);
 
@@ -47,7 +46,7 @@ public class AnnotationResponseEncoder extends 
AbstractChainedImapEncoder {
         composer.untagged();
         composer.commandName(ImapConstants.ANNOTATION_RESPONSE_NAME);
 
-        
composer.quote(Optional.fromNullable(response.getMailboxName()).or(""));
+        
composer.quote(Optional.ofNullable(response.getMailboxName()).orElse(""));
         composeAnnotations(composer, session, 
response.getMailboxAnnotations());
 
         composer.end();
@@ -68,7 +67,7 @@ public class AnnotationResponseEncoder extends 
AbstractChainedImapEncoder {
             LOGGER.warn("There is nil data of key {} on store: ", 
annotation.getKey().asString());
         } else {
             composer.message(annotation.getKey().asString());
-            composer.quote(annotation.getValue().or(""));
+            composer.quote(annotation.getValue().orElse(""));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/message/request/GetAnnotationRequest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/message/request/GetAnnotationRequest.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/message/request/GetAnnotationRequest.java
index 0da09fc..efde30e 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/message/request/GetAnnotationRequest.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/message/request/GetAnnotationRequest.java
@@ -19,14 +19,14 @@
 
 package org.apache.james.imap.message.request;
 
+import java.util.Optional;
 import java.util.Set;
 
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableSet;
 import org.apache.james.imap.api.ImapCommand;
+import org.apache.james.mailbox.model.MailboxAnnotationKey;
 
 import com.google.common.base.Preconditions;
-import org.apache.james.mailbox.model.MailboxAnnotationKey;
+import com.google.common.collect.ImmutableSet;
 
 public class GetAnnotationRequest extends AbstractImapRequest {
     public static class Builder {
@@ -39,7 +39,7 @@ public class GetAnnotationRequest extends AbstractImapRequest 
{
 
         private Builder() {
             this.depth = Depth.ZERO;
-            this.maxsize = Optional.absent();
+            this.maxsize = Optional.empty();
             keys = ImmutableSet.of();
         }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
index aae880c..5ff2d9b 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.james.imap.processor;
 
+import java.util.Optional;
+
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.ImapSessionUtils;
 import org.apache.james.imap.api.display.HumanReadableText;
@@ -39,7 +41,6 @@ import org.apache.james.metrics.api.MetricFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 
 public abstract class AbstractAuthProcessor<M extends ImapRequest> extends 
AbstractMailboxProcessor<M>{
@@ -169,7 +170,7 @@ public abstract class AbstractAuthProcessor<M extends 
ImapRequest> extends Abstr
     }
 
     protected static AuthenticationAttempt noDelegation(String 
authenticationId, String password) {
-        return new AuthenticationAttempt(Optional.<String>absent(), 
authenticationId, password);
+        return new AuthenticationAttempt(Optional.<String>empty(), 
authenticationId, password);
     }
 
     protected static class AuthenticationAttempt {

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
index 5d1e704..6dc6d09 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
@@ -22,8 +22,8 @@ import java.util.Collection;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Optional;
 import java.util.Set;
-
 import javax.mail.Flags;
 
 import org.apache.james.imap.api.ImapCommand;
@@ -68,8 +68,6 @@ import org.apache.james.metrics.api.TimeMetric;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
-
 abstract public class AbstractMailboxProcessor<M extends ImapRequest> extends 
AbstractChainedProcessor<M> {
     private static final Logger LOGGER = 
LoggerFactory.getLogger(AbstractMailboxProcessor.class);
 
@@ -435,7 +433,7 @@ abstract public class AbstractMailboxProcessor<M extends 
ImapRequest> extends Ab
             }
             // Take care of "*" and "*:*" values by return the last message in
             // the mailbox. See IMAP-289
-            MessageUid lastUid = 
selected.getLastUid().or(MessageUid.MIN_VALUE);
+            MessageUid lastUid = 
selected.getLastUid().orElse(MessageUid.MIN_VALUE);
             if (lowVal == Long.MAX_VALUE && highVal == Long.MAX_VALUE) {
                 return MessageRange.one(lastUid);
             } else if (highVal == Long.MAX_VALUE && 
lastUid.compareTo(MessageUid.of(lowVal)) < 0) {
@@ -517,26 +515,26 @@ abstract public class AbstractMailboxProcessor<M extends 
ImapRequest> extends Ab
         case ONE:
             return range;
         case ALL:
-            start = selected.getFirstUid().or(MessageUid.MIN_VALUE);
-            end = selected.getLastUid().or(MessageUid.MAX_VALUE);
+            start = selected.getFirstUid().orElse(MessageUid.MIN_VALUE);
+            end = selected.getLastUid().orElse(MessageUid.MAX_VALUE);
             return MessageRange.range(start, end);
         case RANGE:
             start = range.getUidFrom();
-            if (start.equals(MessageUid.MAX_VALUE) || 
start.compareTo(selected.getFirstUid().or(MessageUid.MIN_VALUE)) < 0) {
-                start = selected.getFirstUid().or(MessageUid.MIN_VALUE);
+            if (start.equals(MessageUid.MAX_VALUE) || 
start.compareTo(selected.getFirstUid().orElse(MessageUid.MIN_VALUE)) < 0) {
+                start = selected.getFirstUid().orElse(MessageUid.MIN_VALUE);
             }
             end = range.getUidTo();
-            if (end.equals(MessageUid.MAX_VALUE) || 
end.compareTo(selected.getLastUid().or(MessageUid.MAX_VALUE)) > 0) {
-                end = selected.getLastUid().or(MessageUid.MAX_VALUE);
+            if (end.equals(MessageUid.MAX_VALUE) || 
end.compareTo(selected.getLastUid().orElse(MessageUid.MAX_VALUE)) > 0) {
+                end = selected.getLastUid().orElse(MessageUid.MAX_VALUE);
             }
             return MessageRange.range(start, end);
         case FROM:
             start = range.getUidFrom();
-            if (start.equals(MessageUid.MAX_VALUE) || 
start.compareTo(selected.getFirstUid().or(MessageUid.MIN_VALUE)) < 0) {
-                start = selected.getFirstUid().or(MessageUid.MIN_VALUE);
+            if (start.equals(MessageUid.MAX_VALUE) || 
start.compareTo(selected.getFirstUid().orElse(MessageUid.MIN_VALUE)) < 0) {
+                start = selected.getFirstUid().orElse(MessageUid.MIN_VALUE);
             }
             
-            end = selected.getLastUid().or(MessageUid.MAX_VALUE);
+            end = selected.getLastUid().orElse(MessageUid.MAX_VALUE);
             return MessageRange.range(start, end);
         default:
             throw new MessageRangeException("Unknown message range type: " + 
rangeType);

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
index b334d43..e68fd6a 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
@@ -242,8 +242,10 @@ abstract class AbstractSelectionProcessor<M extends 
AbstractMailboxSelectionRequ
                                     MessageUid knownUid = 
knownUidsList.get(index);
 
                                     // Check if the uid mathc if not we are 
done here
-                                    if 
(selected.uid(msn).asSet().contains(knownUid)) {
-                                        done = true;
+                                    done = selected.uid(msn)
+                                        .filter(selectedUid -> 
selectedUid.equals(knownUid))
+                                        .isPresent();
+                                    if (done) {
                                         break;
                                     } else {
                                         firstUid = knownUid;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
index 05ae7e4..d194632 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/GetAnnotationProcessor.java
@@ -22,9 +22,9 @@ package org.apache.james.imap.processor;
 import java.io.Closeable;
 import java.util.Comparator;
 import java.util.List;
+import java.util.Optional;
 import java.util.Set;
 
-import org.apache.commons.lang.NotImplementedException;
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.ImapSessionUtils;
@@ -47,8 +47,8 @@ import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.util.MDCBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.commons.lang.NotImplementedException;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Predicate;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.ImmutableList;
@@ -93,7 +93,7 @@ public class GetAnnotationProcessor extends 
AbstractMailboxProcessor<GetAnnotati
     private void respond(String tag, ImapCommand command, Responder responder, 
String mailboxName,
                          List<MailboxAnnotation> mailboxAnnotations, 
Optional<Integer> maxsize, Optional<Integer> maximumOversizedSize) {
         if (maximumOversizedSize.isPresent()) {
-            responder.respond(new AnnotationResponse(mailboxName, 
filterItemsBySize(responder, mailboxName, mailboxAnnotations, maxsize)));
+            responder.respond(new AnnotationResponse(mailboxName, 
filterItemsBySize(mailboxAnnotations, maxsize)));
             okComplete(command, tag, 
ResponseCode.longestMetadataEntry(maximumOversizedSize.get()), responder);
         } else {
             responder.respond(new AnnotationResponse(mailboxName, 
mailboxAnnotations));
@@ -103,15 +103,15 @@ public class GetAnnotationProcessor extends 
AbstractMailboxProcessor<GetAnnotati
 
     private Optional<Integer> getMaxSizeValue(final List<MailboxAnnotation> 
mailboxAnnotations, Optional<Integer> maxsize) {
         if (maxsize.isPresent()) {
-            return maxsize.transform(value -> 
getMaxSizeOfOversizedItems(mailboxAnnotations, value)).get();
+            return maxsize.map(value -> 
getMaxSizeOfOversizedItems(mailboxAnnotations, value)).get();
         }
-        return Optional.absent();
+        return Optional.empty();
     }
 
-    private List<MailboxAnnotation> filterItemsBySize(Responder responder, 
String mailboxName, List<MailboxAnnotation> mailboxAnnotations, final 
Optional<Integer> maxsize) {
+    private List<MailboxAnnotation> filterItemsBySize(List<MailboxAnnotation> 
mailboxAnnotations, final Optional<Integer> maxsize) {
         Predicate<MailboxAnnotation> lowerPredicate = annotation -> maxsize
-            .transform(maxSizeInput -> (annotation.size() <= maxSizeInput))
-            .or(true);
+            .map(maxSizeInput -> (annotation.size() <= maxSizeInput))
+            .orElse(true);
 
         return 
FluentIterable.from(mailboxAnnotations).filter(lowerPredicate).toList();
     }
@@ -147,7 +147,7 @@ public class GetAnnotationProcessor extends 
AbstractMailboxProcessor<GetAnnotati
             .toSortedSet(Comparator.reverseOrder());
 
         if (overLimitSizes.isEmpty()) {
-            return Optional.absent();
+            return Optional.empty();
         }
         return Optional.of(overLimitSizes.first());
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
index 259684a..b69ceb8 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
@@ -25,8 +25,8 @@ import java.util.Collection;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Optional;
 import java.util.TreeSet;
-
 import javax.mail.Flags.Flag;
 
 import org.apache.james.imap.api.ImapCommand;
@@ -67,7 +67,6 @@ import org.apache.james.util.MDCBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableList;
 
 public class SearchProcessor extends AbstractMailboxProcessor<SearchRequest> 
implements CapabilityImplementingProcessor {
@@ -398,7 +397,7 @@ public class SearchProcessor extends 
AbstractMailboxProcessor<SearchRequest> imp
                 // message in
                 // the mailbox. See IMAP-289
                 if (lowVal == Long.MAX_VALUE && highVal == Long.MAX_VALUE) {
-                    MessageUid highUid = 
selected.getLastUid().or(MessageUid.MIN_VALUE);
+                    MessageUid highUid = 
selected.getLastUid().orElse(MessageUid.MIN_VALUE);
 
                     ranges.add(new SearchQuery.UidRange(highUid));
                 } else {
@@ -413,7 +412,7 @@ public class SearchProcessor extends 
AbstractMailboxProcessor<SearchRequest> imp
                     // SelectedMailbox.NO_SUCH_MESSAGE but we check for it
                     // just to be safe
                     if (lowUid.isPresent()) {
-                        Optional<MessageUid> highUid = Optional.absent();
+                        Optional<MessageUid> highUid = Optional.empty();
                         if (highVal != Long.MAX_VALUE) {
                             highUid = selected.uid((int) highVal);
                             if (!highUid.isPresent()) {
@@ -426,7 +425,7 @@ public class SearchProcessor extends 
AbstractMailboxProcessor<SearchRequest> imp
                         } else {
                             highUid = selected.getLastUid();
                         }
-                        ranges.add(new 
SearchQuery.UidRange(lowUid.or(MessageUid.MIN_VALUE), 
highUid.or(MessageUid.MAX_VALUE)));
+                        ranges.add(new 
SearchQuery.UidRange(lowUid.orElse(MessageUid.MIN_VALUE), 
highUid.orElse(MessageUid.MAX_VALUE)));
                     }
                 }
             }
@@ -455,13 +454,13 @@ public class SearchProcessor extends 
AbstractMailboxProcessor<SearchRequest> imp
                 // message in
                 // the mailbox. See IMAP-289
                 if (lowVal.equals(MessageUid.MAX_VALUE) && 
highVal.equals(MessageUid.MAX_VALUE)) {
-                    ranges.add(new 
SearchQuery.UidRange(selected.getLastUid().or(MessageUid.MIN_VALUE)));
-                } else if (highVal.equals(MessageUid.MAX_VALUE) && 
selected.getLastUid().or(MessageUid.MIN_VALUE).compareTo(lowVal) < 0) {
+                    ranges.add(new 
SearchQuery.UidRange(selected.getLastUid().orElse(MessageUid.MIN_VALUE)));
+                } else if (highVal.equals(MessageUid.MAX_VALUE) && 
selected.getLastUid().orElse(MessageUid.MIN_VALUE).compareTo(lowVal) < 0) {
                     // Sequence uid ranges which use
                     // *:<uid-higher-then-last-uid>
                     // MUST return at least the highest uid in the mailbox
                     // See IMAP-291
-                    ranges.add(new 
SearchQuery.UidRange(selected.getLastUid().or(MessageUid.MIN_VALUE)));
+                    ranges.add(new 
SearchQuery.UidRange(selected.getLastUid().orElse(MessageUid.MIN_VALUE)));
                 } else {
                     ranges.add(new SearchQuery.UidRange(lowVal, highVal));
                 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
index 18b0d7f..a564f1c 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/SelectedMailboxImpl.java
@@ -24,9 +24,9 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Optional;
 import java.util.Set;
 import java.util.TreeSet;
-
 import javax.mail.Flags;
 import javax.mail.Flags.Flag;
 
@@ -45,7 +45,6 @@ import org.apache.james.mailbox.model.UpdatedFlags;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableList;
 
 /**
@@ -393,13 +392,13 @@ public class SelectedMailboxImpl implements 
SelectedMailbox, MailboxListener{
 
     @Override
     public synchronized int msn(MessageUid uid) {
-        return uidMsnConverter.getMsn(uid).or(NO_SUCH_MESSAGE);
+        return uidMsnConverter.getMsn(uid).orElse(NO_SUCH_MESSAGE);
     }
 
     @Override
     public synchronized Optional<MessageUid> uid(int msn) {
         if (msn == NO_SUCH_MESSAGE) {
-            return Optional.absent();
+            return Optional.empty();
         }
 
         return uidMsnConverter.getUid(msn);

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
index 5e75c95..ff56229 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/base/UidMsnConverter.java
@@ -22,12 +22,12 @@ package org.apache.james.imap.processor.base;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Optional;
 import java.util.TreeSet;
 
 import org.apache.james.mailbox.MessageUid;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Optional;
 import com.google.common.collect.Lists;
 
 public class UidMsnConverter {
@@ -51,7 +51,7 @@ public class UidMsnConverter {
     public synchronized Optional<Integer> getMsn(MessageUid uid) {
         int position = Collections.binarySearch(uids, uid);
         if (position < 0) {
-            return Optional.absent();
+            return Optional.empty();
         }
         return Optional.of(position + 1);
     }
@@ -60,12 +60,12 @@ public class UidMsnConverter {
         if (msn <= uids.size() && msn > 0) {
             return Optional.of(uids.get(msn - 1));
         }
-        return Optional.absent();
+        return Optional.empty();
     }
 
     public synchronized Optional<MessageUid> getLastUid() {
         if (uids.isEmpty()) {
-            return Optional.absent();
+            return Optional.empty();
         }
         return getUid(getLastMsn());
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParserTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParserTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParserTest.java
index f8ee791..12faf5d 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParserTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/decode/parser/GetAnnotationCommandParserTest.java
@@ -20,13 +20,10 @@
 package org.apache.james.imap.decode.parser;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.guava.api.Assertions.assertThat;
-
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import com.google.common.base.Charsets;
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.decode.ImapRequestStreamLineReader;
@@ -34,6 +31,8 @@ import 
org.apache.james.imap.message.request.GetAnnotationRequest;
 import org.apache.james.imap.message.request.GetAnnotationRequest.Depth;
 import org.apache.james.mailbox.model.MailboxAnnotationKey;
 import org.apache.james.protocols.imap.DecodingException;
+
+import com.google.common.base.Charsets;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -74,7 +73,7 @@ public class GetAnnotationCommandParserTest {
         assertThat(request.getMailboxName()).isEqualTo(INBOX);
         assertThat(request.getKeys()).isEmpty();
         assertThat(request.getDepth()).isEqualTo(Depth.ZERO);
-        assertThat(request.getMaxsize()).isAbsent();
+        assertThat(request.getMaxsize()).isEmpty();
     }
 
     @Test(expected = DecodingException.class)
@@ -97,7 +96,7 @@ public class GetAnnotationCommandParserTest {
         assertThat(request.getMailboxName()).isEqualTo(INBOX);
         assertThat(request.getKeys()).containsOnly(PRIVATE_KEY);
         assertThat(request.getDepth()).isEqualTo(Depth.ZERO);
-        assertThat(request.getMaxsize()).isAbsent();
+        assertThat(request.getMaxsize()).isEmpty();
     }
 
     @Test(expected = DecodingException.class)
@@ -120,7 +119,7 @@ public class GetAnnotationCommandParserTest {
         assertThat(request.getMailboxName()).isEqualTo(INBOX);
         assertThat(request.getKeys()).contains(PRIVATE_KEY, SHARED_KEY);
         assertThat(request.getDepth()).isEqualTo(Depth.ZERO);
-        assertThat(request.getMaxsize()).isAbsent();
+        assertThat(request.getMaxsize()).isEmpty();
     }
 
     @Test(expected = DecodingException.class)
@@ -345,7 +344,7 @@ public class GetAnnotationCommandParserTest {
         assertThat(request.getCommand()).isEqualTo(command);
         assertThat(request.getMailboxName()).isEqualTo(INBOX);
         assertThat(request.getDepth()).isEqualTo(Depth.INFINITY);
-        assertThat(request.getMaxsize()).isAbsent();
+        assertThat(request.getMaxsize()).isEmpty();
         assertThat(request.getKeys()).contains(SHARED_KEY, PRIVATE_KEY);
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/test/java/org/apache/james/imap/processor/CopyProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/CopyProcessorTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/CopyProcessorTest.java
index f074209..5c0f875 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/CopyProcessorTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/CopyProcessorTest.java
@@ -24,6 +24,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
+import java.util.Optional;
 
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.ImapConstants;
@@ -47,11 +48,10 @@ import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageRange;
 import org.apache.james.mailbox.store.MailboxMetaData;
 import org.apache.james.metrics.api.NoopMetricFactory;
-import org.junit.Before;
-import org.junit.Test;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.Lists;
+import org.junit.Before;
+import org.junit.Test;
 
 public class CopyProcessorTest {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/test/java/org/apache/james/imap/processor/GetAnnotationProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/GetAnnotationProcessorTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/GetAnnotationProcessorTest.java
index 4adbf77..e8784d8 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/GetAnnotationProcessorTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/GetAnnotationProcessorTest.java
@@ -28,7 +28,7 @@ import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
-
+import java.util.Optional;
 import java.util.Set;
 
 import org.apache.james.imap.api.ImapCommand;
@@ -54,15 +54,14 @@ import org.apache.james.mailbox.model.MailboxAnnotation;
 import org.apache.james.mailbox.model.MailboxAnnotationKey;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.metrics.api.NoopMetricFactory;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.MockitoAnnotations;
 
-import com.google.common.base.Optional;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-
 public class GetAnnotationProcessorTest {
     private static final String TAG = "TAG";
     private static final int FIRST_ELEMENT_INDEX = 0;

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/test/java/org/apache/james/imap/processor/MoveProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/MoveProcessorTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/MoveProcessorTest.java
index cdf5729..aa8a754 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/MoveProcessorTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/MoveProcessorTest.java
@@ -26,6 +26,7 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
+import java.util.Optional;
 
 import org.apache.james.imap.api.ImapCommand;
 import org.apache.james.imap.api.ImapConstants;
@@ -50,11 +51,10 @@ import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageRange;
 import org.apache.james.mailbox.store.MailboxMetaData;
 import org.apache.james.metrics.api.NoopMetricFactory;
-import org.junit.Before;
-import org.junit.Test;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.Lists;
+import org.junit.Before;
+import org.junit.Test;
 
 public class MoveProcessorTest {
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
index 07bf600..96cb511 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/SearchProcessorTest.java
@@ -25,8 +25,8 @@ import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 import java.util.Locale;
+import java.util.Optional;
 import java.util.TimeZone;
-
 import javax.mail.Flags;
 import javax.mail.Flags.Flag;
 
@@ -56,14 +56,13 @@ import 
org.apache.james.mailbox.model.SearchQuery.AddressType;
 import org.apache.james.mailbox.model.SearchQuery.Criterion;
 import org.apache.james.mailbox.model.SearchQuery.DateResolution;
 import org.apache.james.metrics.api.NoopMetricFactory;
+
 import org.jmock.Expectations;
 import org.jmock.Mockery;
 import org.jmock.integration.junit4.JUnit4Mockery;
 import org.junit.Before;
 import org.junit.Test;
 
-import com.google.common.base.Optional;
-
 public class SearchProcessorTest {
     private static final int DAY = 6;
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
index 3c702f0..ae63f9f 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Collection;
@@ -32,11 +31,10 @@ import java.util.EnumSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
-
 import javax.mail.Flags;
 
-import org.apache.commons.lang.NotImplementedException;
 import org.apache.james.imap.api.ImapSessionState;
 import org.apache.james.imap.api.ImapSessionUtils;
 import org.apache.james.imap.api.process.ImapLineHandler;
@@ -76,8 +74,8 @@ import org.apache.james.mailbox.model.TestId;
 import org.apache.james.mailbox.model.UpdatedFlags;
 import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
 import org.junit.Test;
+import org.apache.commons.lang.NotImplementedException;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableList;
 
 public class MailboxEventAnalyserTest {

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
index 79cf756..ae11940 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/UidMsnConverterTest.java
@@ -20,18 +20,16 @@
 package org.apache.james.imap.processor.base;
 
 import static org.assertj.core.api.Assertions.assertThat;
-import static org.assertj.guava.api.Assertions.assertThat;
-
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.util.concurrency.ConcurrentTestRunner;
-import org.junit.Before;
-import org.junit.Test;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
+import org.junit.Before;
+import org.junit.Test;
 
 public class UidMsnConverterTest {
     private UidMsnConverter testee;
@@ -52,13 +50,13 @@ public class UidMsnConverterTest {
     @Test
     public void getUidShouldReturnEmptyIfNoMessageWithTheGivenMessageNumber() {
         assertThat(testee.getUid(1))
-            .isAbsent();
+            .isEmpty();
     }
 
     @Test
     public void getUidShouldReturnEmptyIfZero() {
         assertThat(testee.getUid(0))
-            .isAbsent();
+            .isEmpty();
     }
 
     @Test
@@ -71,12 +69,12 @@ public class UidMsnConverterTest {
 
     @Test
     public void getFirstUidShouldReturnEmptyIfNoMessage() {
-        assertThat(testee.getFirstUid()).isAbsent();
+        assertThat(testee.getFirstUid()).isEmpty();
     }
 
     @Test
     public void getLastUidShouldReturnEmptyIfNoMessage() {
-        assertThat(testee.getLastUid()).isAbsent();
+        assertThat(testee.getLastUid()).isEmpty();
     }
 
     @Test
@@ -99,7 +97,7 @@ public class UidMsnConverterTest {
     public void getMsnShouldReturnAbsentIfNoCorrespondingMessage() {
         testee.addUid(messageUid1);
 
-        assertThat(testee.getMsn(messageUid2)).isAbsent();
+        assertThat(testee.getMsn(messageUid2)).isEmpty();
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
----------------------------------------------------------------------
diff --git 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
index eb983f9..ccfb013 100644
--- 
a/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
+++ 
b/protocols/netty/src/main/java/org/apache/james/protocols/netty/NettyServer.java
@@ -19,20 +19,20 @@
 package org.apache.james.protocols.netty;
 
 
+import java.util.Optional;
 import javax.net.ssl.SSLContext;
 
 import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
+
+import com.google.common.base.Preconditions;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
 import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.execution.ExecutionHandler;
 import org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor;
 
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-
 
 /**
  * Generic NettyServer 
@@ -49,8 +49,8 @@ public class NettyServer extends AbstractAsyncServer {
         private Optional<ChannelHandlerFactory> frameHandlerFactory;
 
         private Builder() {
-            secure = Optional.absent();
-            frameHandlerFactory = Optional.absent();
+            secure = Optional.empty();
+            frameHandlerFactory = Optional.empty();
         }
 
         public Builder protocol(Protocol protocol) {
@@ -60,20 +60,20 @@ public class NettyServer extends AbstractAsyncServer {
         }
 
         public Builder secure(Encryption secure) {
-            this.secure = Optional.fromNullable(secure);
+            this.secure = Optional.ofNullable(secure);
             return this;
         }
 
         public Builder frameHandlerFactory(ChannelHandlerFactory 
frameHandlerFactory) {
-            this.frameHandlerFactory = 
Optional.fromNullable(frameHandlerFactory);
+            this.frameHandlerFactory = 
Optional.ofNullable(frameHandlerFactory);
             return this;
         }
 
         public NettyServer build() {
             Preconditions.checkState(protocol != null, "'protocol' is 
mandatory");
             return new NettyServer(protocol, 
-                    secure.orNull(),
-                    frameHandlerFactory.or(new 
LineDelimiterBasedChannelHandlerFactory(AbstractChannelPipelineFactory.MAX_LINE_LENGTH)));
+                    secure.orElse(null),
+                    frameHandlerFactory.orElse(new 
LineDelimiterBasedChannelHandlerFactory(AbstractChannelPipelineFactory.MAX_LINE_LENGTH)));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/1629c5a1/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
----------------------------------------------------------------------
diff --git 
a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
 
b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
index 5c4750e..244ad90 100644
--- 
a/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
+++ 
b/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/netty/NettyStartTlsSMTPServerTest.java
@@ -19,20 +19,17 @@
 package org.apache.james.protocols.smtp.netty;
 
 import static org.assertj.core.api.Assertions.assertThat;
-
 import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.util.Arrays;
 import java.util.Locale;
+import java.util.Optional;
 import java.util.Properties;
-
 import javax.mail.Message;
 import javax.mail.Session;
 import javax.mail.internet.InternetAddress;
 import javax.mail.internet.MimeMessage;
 
-import org.apache.commons.net.smtp.SMTPReply;
-import org.apache.commons.net.smtp.SMTPSClient;
 import org.apache.james.metrics.api.NoopMetricFactory;
 import org.apache.james.protocols.api.Encryption;
 import org.apache.james.protocols.api.Protocol;
@@ -50,13 +47,14 @@ import 
org.apache.james.protocols.smtp.SMTPConfigurationImpl;
 import org.apache.james.protocols.smtp.SMTPProtocol;
 import org.apache.james.protocols.smtp.SMTPProtocolHandlerChain;
 import org.apache.james.protocols.smtp.utils.TestMessageHook;
+import org.apache.commons.net.smtp.SMTPReply;
+import org.apache.commons.net.smtp.SMTPSClient;
+
+import com.sun.mail.smtp.SMTPTransport;
 import org.assertj.core.api.AssertDelegateTarget;
 import org.junit.After;
 import org.junit.Test;
 
-import com.google.common.base.Optional;
-import com.sun.mail.smtp.SMTPTransport;
-
 public class NettyStartTlsSMTPServerTest {
 
     private static final String LOCALHOST_IP = "127.0.0.1";
@@ -103,7 +101,7 @@ public class NettyStartTlsSMTPServerTest {
 
     @Test
     public void connectShouldReturnTrueWhenConnecting() throws Exception {
-        server = createServer(createProtocol(Optional.<ProtocolHandler> 
absent()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
+        server = createServer(createProtocol(Optional.empty()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
         smtpsClient = createClient();
 
         server.bind();
@@ -114,7 +112,7 @@ public class NettyStartTlsSMTPServerTest {
 
     @Test
     public void ehloShouldReturnTrueWhenSendingTheCommand() throws Exception {
-        server = createServer(createProtocol(Optional.<ProtocolHandler> 
absent()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
+        server = createServer(createProtocol(Optional.empty()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
         smtpsClient = createClient();
 
         server.bind();
@@ -127,7 +125,7 @@ public class NettyStartTlsSMTPServerTest {
 
     @Test
     public void startTlsShouldBeAnnouncedWhenServerSupportsIt() throws 
Exception {
-        server = createServer(createProtocol(Optional.<ProtocolHandler> 
absent()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
+        server = createServer(createProtocol(Optional.empty()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
         smtpsClient = createClient();
 
         server.bind();
@@ -156,7 +154,7 @@ public class NettyStartTlsSMTPServerTest {
 
     @Test
     public void startTlsShouldReturnTrueWhenServerSupportsIt() throws 
Exception {
-        server = createServer(createProtocol(Optional.<ProtocolHandler> 
absent()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
+        server = createServer(createProtocol(Optional.empty()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
         smtpsClient = createClient();
 
         server.bind();
@@ -170,7 +168,7 @@ public class NettyStartTlsSMTPServerTest {
 
     @Test
     public void startTlsShouldFailWhenFollowedByInjectedCommand() throws 
Exception {
-        server = createServer(createProtocol(Optional.<ProtocolHandler> 
absent()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
+        server = createServer(createProtocol(Optional.empty()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
         smtpsClient = createClient();
 
         server.bind();
@@ -184,7 +182,7 @@ public class NettyStartTlsSMTPServerTest {
 
     @Test
     public void 
startTlsShouldFailWhenFollowedByInjectedCommandAndNotAtBeginningOfLine() throws 
Exception {
-        server = createServer(createProtocol(Optional.<ProtocolHandler> 
absent()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
+        server = createServer(createProtocol(Optional.empty()), 
Encryption.createStartTls(BogusSslContextFactory.getServerContext()));
         smtpsClient = createClient();
 
         server.bind();


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to