@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException {
try {
UserDetails user = super.loadUserByUsername(username);
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SessionUser sessUser = new SessionUser(user.getUsername(), user.getPassword(), user.isEnabled(), user.getAuthorities());
Map<String,Object> result = getJdbcTemplate().queryForMap(loadUserByUsernameQuery.replace("?", "'"+username+"'"));
sessUser.setFirstName(""+result.get("FIRSTNAME"));
sessUser.setLastName(""+result.get("LASTNAME"));
sessUser.setEmailAddress(""+result.get("EMAIL"));
sessUser.setOffice(""+result.get("OFFICE"));
sessUser.setPosition(""+result.get("POSITION"));
sessUser.setCompany(""+result.get("COMPANY"));
sessUser.setPictureUrl(""+result.get("PICTUREURL"));
sessUser.setId((Long) result.get("ID"));
if (result.get("LASTLOGIN") != null) {
try {
sessUser.setLastLogin(format.parse(result.get("LASTLOGIN").toString()));
} catch (ParseException e) {
sessUser.setLastLogin(Calendar.getInstance().getTime());
}
}
return sessUser;
} catch (UsernameNotFoundException ex1) {
_log.error(ex1);