|  | @@ -1,15 +1,12 @@
 | 
	
		
			
				|  |  |  package org.springframework.security.ui.preauth;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.util.Arrays;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  import javax.servlet.http.HttpServletRequest;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import org.springframework.security.ui.WebAuthenticationDetails;
 | 
	
		
			
				|  |  | +import org.springframework.security.GrantedAuthoritiesContainerImpl;
 | 
	
		
			
				|  |  |  import org.springframework.security.GrantedAuthority;
 | 
	
		
			
				|  |  |  import org.springframework.security.MutableGrantedAuthoritiesContainer;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import org.springframework.util.Assert;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * This WebAuthenticationDetails implementation allows for storing a list of
 | 
	
		
			
				|  |  |   * pre-authenticated Granted Authorities.
 | 
	
	
		
			
				|  | @@ -22,28 +19,24 @@ public class PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails extends
 | 
	
		
			
				|  |  |  		MutableGrantedAuthoritiesContainer {
 | 
	
		
			
				|  |  |  	public static final long serialVersionUID = 1L;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	private GrantedAuthority[] preAuthenticatedGrantedAuthorities = null;
 | 
	
		
			
				|  |  | +	private MutableGrantedAuthoritiesContainer authoritiesContainer = new GrantedAuthoritiesContainerImpl();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails(HttpServletRequest request) {
 | 
	
		
			
				|  |  |  		super(request);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public GrantedAuthority[] getGrantedAuthorities() {
 | 
	
		
			
				|  |  | -		Assert.notNull(preAuthenticatedGrantedAuthorities, "Pre-authenticated granted authorities have not been set");
 | 
	
		
			
				|  |  | -		GrantedAuthority[] result = new GrantedAuthority[preAuthenticatedGrantedAuthorities.length];
 | 
	
		
			
				|  |  | -		System.arraycopy(preAuthenticatedGrantedAuthorities, 0, result, 0, result.length);
 | 
	
		
			
				|  |  | -		return result;
 | 
	
		
			
				|  |  | +		return authoritiesContainer.getGrantedAuthorities();
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	public void setGrantedAuthorities(GrantedAuthority[] authorities) {
 | 
	
		
			
				|  |  | -		this.preAuthenticatedGrantedAuthorities = new GrantedAuthority[authorities.length];
 | 
	
		
			
				|  |  | -		System.arraycopy(authorities, 0, preAuthenticatedGrantedAuthorities, 0, preAuthenticatedGrantedAuthorities.length);
 | 
	
		
			
				|  |  | +		this.authoritiesContainer.setGrantedAuthorities(authorities);
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	
 | 
	
		
			
				|  |  |      public String toString() {
 | 
	
		
			
				|  |  |          StringBuffer sb = new StringBuffer();
 | 
	
		
			
				|  |  |          sb.append(super.toString() + "; ");
 | 
	
		
			
				|  |  | -        sb.append("preAuthenticatedGrantedAuthorities: " + Arrays.asList(preAuthenticatedGrantedAuthorities));
 | 
	
		
			
				|  |  | +        sb.append(authoritiesContainer);
 | 
	
		
			
				|  |  |          return sb.toString();
 | 
	
		
			
				|  |  |      }	
 | 
	
		
			
				|  |  |  }
 |