You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ad...@apache.org on 2017/02/15 13:36:05 UTC
[02/20] james-project git commit: JAMES-1925 OptionalConverter should
handle convertion to streams
JAMES-1925 OptionalConverter should handle convertion to streams
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/28acf6f5
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/28acf6f5
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/28acf6f5
Branch: refs/heads/master
Commit: 28acf6f5d86e94ca7d0002b8d14569e21760cc99
Parents: a06a008
Author: Benoit Tellier <bt...@linagora.com>
Authored: Tue Feb 14 08:01:42 2017 +0700
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Wed Feb 15 12:00:17 2017 +0100
----------------------------------------------------------------------
.../apache/james/util/OptionalConverter.java | 6 ++++++
.../james/util/OptionalConverterTest.java | 20 ++++++++++++++++++++
2 files changed, 26 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/28acf6f5/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java b/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java
index 86cf398..fafec7a 100644
--- a/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java
+++ b/server/container/util-java8/src/main/java/org/apache/james/util/OptionalConverter.java
@@ -19,6 +19,7 @@
package org.apache.james.util;
import java.util.Optional;
+import java.util.stream.Stream;
public class OptionalConverter {
@@ -29,4 +30,9 @@ public class OptionalConverter {
public static <T> com.google.common.base.Optional<T> toGuava(Optional<T> java) {
return com.google.common.base.Optional.fromNullable(java.orElse(null));
}
+
+ public static <T> Stream<T> toStream(Optional<T> optional) {
+ return optional.map(Stream::of)
+ .orElse(Stream.of());
+ }
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/28acf6f5/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java
----------------------------------------------------------------------
diff --git a/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java b/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java
index 6caee6a..5356f63 100644
--- a/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java
+++ b/server/container/util-java8/src/test/java/org/apache/james/util/OptionalConverterTest.java
@@ -21,17 +21,37 @@ package org.apache.james.util;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.Optional;
+import java.util.stream.Collectors;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import com.github.steveash.guavate.Guavate;
+
public class OptionalConverterTest {
@Rule
public ExpectedException expectedException = ExpectedException.none();
@Test
+ public void toStreamShouldConvertEmptyOptionalToEmptyStream() {
+ assertThat(
+ OptionalConverter.toStream(Optional.empty())
+ .collect(Guavate.toImmutableList()))
+ .isEmpty();
+ }
+
+ @Test
+ public void toStreamShouldConvertFullOptionalToStream() {
+ long value = 18L;
+ assertThat(
+ OptionalConverter.toStream(Optional.of(value))
+ .collect(Guavate.toImmutableList()))
+ .containsExactly(value);
+ }
+
+ @Test
public void fromGuavaShouldThrowWhenGuavaIsNull() {
expectedException.expect(NullPointerException.class);
OptionalConverter.fromGuava(null);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org