/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.smartitengineering.user.security; import com.smartitengineering.user.domain.User; import com.smartitengineering.user.service.UserService; import com.smartitengineering.user.service.UserServiceFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.DataAccessException; import org.springframework.security.userdetails.UserDetails; import org.springframework.security.userdetails.UserDetailsService; import org.springframework.security.userdetails.UsernameNotFoundException; /** * * @author modhu7 */ public class UserDetailsServiceImpl implements UserDetailsService { private static Logger logger = LoggerFactory.getLogger(UserDetailsServiceImpl.class); public UserService getUserService() { return UserServiceFactory.getInstance().getUserService(); } @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException { return loadUserFromDB(username); } private UserDetails loadUserFromDB(String username) { logger.info("loadUser is call with username : " + username); UserDetailsImpl userDetails = new UserDetailsImpl(); User user = getUserService().getUserByUsername(username); if (user != null) { logger.debug("user is not null"); userDetails.setUser(user); } else { logger.debug("user is null"); userDetails.setUser(new User()); } return userDetails; } }