Skip to content

Commit 76143a8

Browse files
Fmt
1 parent 021a33b commit 76143a8

File tree

1 file changed

+25
-4
lines changed
  • core/src/main/java/dev/vml/es/acm/core/acl/authorizable

1 file changed

+25
-4
lines changed

core/src/main/java/dev/vml/es/acm/core/acl/authorizable/AclGroup.java

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.apache.commons.lang3.builder.ToStringStyle;
1616
import org.apache.jackrabbit.api.security.user.Authorizable;
1717
import org.apache.jackrabbit.api.security.user.Group;
18+
import org.apache.jackrabbit.api.security.user.User;
1819

1920
public class AclGroup extends AclAuthorizable {
2021

@@ -102,15 +103,35 @@ public AclResult removeAllMembers() {
102103
public Stream<AclAuthorizable> getMembers() {
103104
try {
104105
return StreamUtils.asStream(group.getMembers())
105-
.map(member -> {
106-
return context.determineAuthorizable(member);
107-
})
108-
.filter(authorizable -> authorizable != null);
106+
.map(m -> context.determineAuthorizable(m))
107+
.filter(a -> a != null);
109108
} catch (RepositoryException e) {
110109
throw new AclException(String.format("Failed to get members of group '%s'", getId()), e);
111110
}
112111
}
113112

113+
public Stream<AclGroup> getGroups() {
114+
try {
115+
return StreamUtils.asStream(group.getMembers())
116+
.filter(g -> g.isGroup())
117+
.map(m -> context.determineGroup((Group) m))
118+
.filter(g -> g != null);
119+
} catch (RepositoryException e) {
120+
throw new AclException(String.format("Failed to get all groups of group '%s'", getId()), e);
121+
}
122+
}
123+
124+
public Stream<AclUser> getUsers() {
125+
try {
126+
return StreamUtils.asStream(group.getMembers())
127+
.filter(g -> !g.isGroup())
128+
.map(m -> context.determineUser((User) m))
129+
.filter(u -> u != null);
130+
} catch (RepositoryException e) {
131+
throw new AclException(String.format("Failed to get all users of group '%s'", getId()), e);
132+
}
133+
}
134+
114135
@Override
115136
public AclResult purge() {
116137
AclResult result = AclResult.of(removeAllMembers(), removeFromAllGroups(), clear("/"));

0 commit comments

Comments
 (0)