private Set<AppPermission> getAppPermissionSet(final String perms) {
        if (NullSafe.isBlankString(perms)) {
            return Collections.emptySet();
        }

        // To simplify the concatenation, we treat nulls as empty strings, so we may get
        // repeated/leading/trailing delimiters. Therefore we remove them now.
        final String[] parts = StringUtil.deDupDelimiters(perms, ',')
                .split(",");
        final Set<AppPermission> permissions = new HashSet<>(parts.length);
        for (final String part : parts) {
            final String trimmed = part.trim();
            if (!trimmed.isEmpty()) {
                final int permissionId = Integer.parseInt(trimmed);
                final String permissionName = appPermissionIdDao.get(permissionId);
                permissions.add(AppPermission.getPermissionForName(permissionName));
            }
        }
        return permissions;
    }
Get application permissions for users plus any that they inherit from their group membership.

@param request The Fetch request.
@return A result page of user permissions.
stroom-security/stroom-security-impl-db/src/main/java/stroom/security/impl/db/AppPermissionDaoImpl.java