/** * Most of the code in the Qalingo project is copyrighted Hoteia and licensed * under the Apache License Version 2.0 (release version 0.8.0) * http://www.apache.org/licenses/LICENSE-2.0 * * Copyright (c) Hoteia, 2012-2014 * http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com * */ package org.hoteia.qalingo.core.security.helper; import java.util.ArrayList; import java.util.Collection; import org.hoteia.qalingo.core.domain.Customer; import org.hoteia.qalingo.core.domain.CustomerRole; import org.hoteia.qalingo.core.domain.User; import org.hoteia.qalingo.core.domain.UserRole; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service("assembler") public class Assembler { @Transactional(readOnly = true) public org.springframework.security.core.userdetails.User buildUserFromUserEntity(User user) { String username = user.getLogin(); String password = user.getPassword(); boolean enabled = user.isActive(); boolean accountNonExpired = user.isActive(); boolean credentialsNonExpired = user.isActive(); boolean accountNonLocked = user.isActive(); Collection<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>(); for (UserRole role : user.getRoles()) { authorities.add(new SimpleGrantedAuthority(role.getName())); } org.springframework.security.core.userdetails.User userSecurity = new org.springframework.security.core.userdetails.User(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); return userSecurity; } @Transactional(readOnly = true) public org.springframework.security.core.userdetails.User buildUserFromCustomerEntity(Customer customer) { String username = customer.getLogin(); String password = customer.getPassword(); boolean enabled = customer.isActive(); boolean accountNonExpired = customer.isActive(); boolean credentialsNonExpired = customer.isActive(); boolean accountNonLocked = customer.isActive(); Collection<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>(); for (CustomerRole role : customer.getRoles()) { authorities.add(new SimpleGrantedAuthority(role.getName())); } org.springframework.security.core.userdetails.User userSecurity = new org.springframework.security.core.userdetails.User(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); return userSecurity; } }