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 ma...@apache.org on 2017/09/29 07:21:52 UTC
[14/31] james-project git commit: MAILBOX-307 Extract big lambdas in
MailboxACL
MAILBOX-307 Extract big lambdas in MailboxACL
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c2a671c9
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c2a671c9
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c2a671c9
Branch: refs/heads/master
Commit: c2a671c9b55eb51d54a0389ab0d9e2541b70fd5b
Parents: 06b06b6
Author: benwa <bt...@linagora.com>
Authored: Wed Sep 27 16:58:20 2017 +0700
Committer: Matthieu Baechler <ma...@apache.org>
Committed: Fri Sep 29 09:20:40 2017 +0200
----------------------------------------------------------------------
.../apache/james/mailbox/model/MailboxACL.java | 29 ++++++++++++--------
1 file changed, 17 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/c2a671c9/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java
index f93a5ef..b4c9d2e 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxACL.java
@@ -685,14 +685,19 @@ public class MailboxACL {
public MailboxACL except(MailboxACL other) throws UnsupportedRightException {
return new MailboxACL(entries.entrySet()
.stream()
- .map(entry -> Pair.of(entry.getKey(),
- Optional.ofNullable(other.getEntries().get(entry.getKey()))
- .map(Throwing.function(exceptValue -> entry.getValue().except(exceptValue)))
- .orElse(entry.getValue())))
+ .map(entry -> Pair.of(
+ entry.getKey(),
+ except(entry.getValue(), other.getEntries().get(entry.getKey()))))
.filter(pair -> !pair.getValue().isEmpty())
.collect(Guavate.toImmutableMap(Map.Entry::getKey, Map.Entry::getValue)));
}
+ private Rfc4314Rights except(Rfc4314Rights thisRight, Rfc4314Rights exceptRights) {
+ return Optional.ofNullable(exceptRights)
+ .map(Throwing.function(thisRight::except))
+ .orElse(thisRight);
+ }
+
public MailboxACL except(EntryKey key, Rfc4314Rights mailboxACLRights) throws UnsupportedRightException {
return except(new MailboxACL(new Entry(key, mailboxACLRights)));
}
@@ -776,15 +781,15 @@ public class MailboxACL {
.asMap()
.entrySet()
.stream()
- .map(entry -> Pair.of(entry.getKey(),
- entry.getValue()
- .stream()
- .reduce(
- new Rfc4314Rights(),
- Throwing.binaryOperator(Rfc4314Rights::union))))
- .collect(Guavate.toImmutableMap(Pair::getKey, Pair::getValue)));
+ .collect(Guavate.toImmutableMap(Map.Entry::getKey, e -> union(e.getValue()))));
+ }
+
+ private Rfc4314Rights union(Collection<Rfc4314Rights> rights) {
+ return rights.stream()
+ .reduce(
+ new Rfc4314Rights(),
+ Throwing.binaryOperator(Rfc4314Rights::union));
}
-
public MailboxACL union(EntryKey key, Rfc4314Rights mailboxACLRights) throws UnsupportedRightException {
return union(new MailboxACL(new Entry(key, mailboxACLRights)));
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org