package qa.qcri.aidr.data.service.impl; import java.util.ArrayList; import java.util.List; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import qa.qcri.aidr.data.persistence.entity.UserAccount; import qa.qcri.aidr.data.persistence.entity.UserAccountRole; import qa.qcri.aidr.data.repository.UserAccountRepository; import qa.qcri.aidr.data.repository.UserAccountRoleRepository; import qa.qcri.aidr.data.service.UserService; import qa.qcri.aidr.data.util.RoleType; @Service("userService") public class UserServiceImpl implements UserService{ //@Resource(name="userRepository") @Autowired private UserAccountRepository userRepository; @Autowired private UserAccountRoleRepository userRoleRepository; @Override @Transactional(readOnly=false) public void save(UserAccount user) { userRepository.save(user); } @Override @Transactional(readOnly=true) public UserAccount fetchByUserName(String username) { return userRepository.findByUserName(username); } @Override @Transactional(readOnly=true) public List<RoleType> getUserRoles(Long userId) { List<UserAccountRole> roles = userRoleRepository.findByAccountId(userId); List<RoleType> roleTypes = new ArrayList<RoleType>(); if(roles != null) { for(UserAccountRole role : roles) { roleTypes.add(role.getRole().getRoleType()); } } return roleTypes; } }