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