JAMES-2230 OptionalUtils supports different checking

Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/ee854c94
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/ee854c94
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/ee854c94

Branch: refs/heads/master
Commit: ee854c945c85219eb1dc5a58bd5036de6ca86da4
Parents: 7245c36
Author: quynhn <qngu...@linagora.com>
Authored: Fri Nov 24 10:58:37 2017 +0700
Committer: Antoine Duprat <adup...@linagora.com>
Committed: Thu Nov 30 17:01:44 2017 +0100

----------------------------------------------------------------------
 .../org/apache/james/util/OptionalUtils.java    |  6 ++++++
 .../apache/james/util/OptionalUtilsTest.java    | 21 ++++++++++++++++++++
 2 files changed, 27 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/ee854c94/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java
----------------------------------------------------------------------
diff --git 
a/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java
 
b/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java
index fc20117..b08abfe 100644
--- 
a/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java
+++ 
b/server/container/util-java8/src/main/java/org/apache/james/util/OptionalUtils.java
@@ -45,4 +45,10 @@ public class OptionalUtils {
             .filter(Optional::isPresent)
             .orElse(optional2);
     }
+
+    public static <T> boolean containsDifferent(Optional<T> requestValue, T 
storeValue) {
+        return requestValue
+            .filter(value -> !value.equals(storeValue))
+            .isPresent();
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee854c94/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java
 
b/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java
index 4af7b23..fcf237c 100644
--- 
a/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java
+++ 
b/server/container/util-java8/src/test/java/org/apache/james/util/OptionalUtilsTest.java
@@ -119,4 +119,25 @@ public class OptionalUtilsTest {
                 Optional.of(2)))
             .contains(1);
     }
+
+    @Test
+    public void containsDifferentShouldReturnTrueWhenNullStoreValue() throws 
Exception {
+        assertThat(OptionalUtils.containsDifferent(Optional.of("any"), 
null)).isTrue();
+    }
+
+    @Test
+    public void containsDifferentShouldReturnFalseWhenEmpty() throws Exception 
{
+        assertThat(OptionalUtils.containsDifferent(Optional.empty(), 
"any")).isFalse();
+    }
+
+    @Test
+    public void containsDifferentShouldReturnFalseWhenSameValue() throws 
Exception {
+        assertThat(OptionalUtils.containsDifferent(Optional.of("any"), 
"any")).isFalse();
+    }
+
+    @Test
+    public void containsDifferentShouldReturnTrueWhenDifferentValue() throws 
Exception {
+        assertThat(OptionalUtils.containsDifferent(Optional.of("any"), 
"other")).isTrue();
+    }
+
 }


---------------------------------------------------------------------
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