Example usage for org.springframework.security.core.authority GrantedAuthoritiesContainer getGrantedAuthorities

List of usage examples for org.springframework.security.core.authority GrantedAuthoritiesContainer getGrantedAuthorities

Introduction

In this page you can find the example usage for org.springframework.security.core.authority GrantedAuthoritiesContainer getGrantedAuthorities.

Prototype

Collection<? extends GrantedAuthority> getGrantedAuthorities();

Source Link

Usage

From source file:at.ac.univie.isc.asio.security.ExpandAuthoritiesContainer.java

/**
 * Map all {@link org.springframework.security.core.authority.GrantedAuthoritiesContainer authority container}
 * to themselves and their contained authorities.
 * Only first level members are expanded, i.e. nested containers are not supported.
 *
 * @param authorities source authorities
 * @return authorities plus all contained ones
 *///w  w  w.ja  v  a 2  s  .  co m
@Override
public Set<GrantedAuthority> mapAuthorities(final Collection<? extends GrantedAuthority> authorities) {
    final ImmutableSet.Builder<GrantedAuthority> mapped = ImmutableSet.builder();
    mapped.addAll(authorities);
    for (final GrantedAuthoritiesContainer container : Iterables.filter(authorities,
            GrantedAuthoritiesContainer.class)) {
        for (final GrantedAuthority each : container.getGrantedAuthorities()) {
            mapped.add(each);
        }
    }
    final ImmutableSet<GrantedAuthority> result = mapped.build();
    log.debug("mapped source authority containers {} to contained authorities {}", authorities, result);
    return result;
}