package egovframework.rte.fdl.security.userdetails;
import java.sql.ResultSet;
import java.sql.SQLException;
import egovframework.rte.fdl.security.userdetails.jdbc.EgovUsersByUsernameMapping;
import javax.sql.DataSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author sjyoon
*
*/
public class EgovUserDetailsMapping extends EgovUsersByUsernameMapping {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovUserDetailsMapping.class);
/**
* EgovUserDetailsMapping 생성자
* @param ds
* @param usersByUsernameQuery
*/
public EgovUserDetailsMapping(DataSource ds, String usersByUsernameQuery) {
super(ds, usersByUsernameQuery);
}
/**
* EgovUsersByUsernameMapping 클래스를 상속받아
* jdbc-user-service 에서 지정된 users-by-username-query 의 쿼리문을 조회하여 ResultSet에 매핑된다.
*/
@Override
protected EgovUserDetails mapRow(ResultSet rs, int rownum) throws SQLException {
LOGGER.debug("## EgovUsersByUsernameMapping mapRow ##");
String userid = rs.getString("user_id");
String password = rs.getString("password");
boolean enabled = rs.getBoolean("enabled");
String username = rs.getString("user_name");
String birthDay = rs.getString("birth_day");
String ssn = rs.getString("ssn");
EgovUserDetailsVO userVO = new EgovUserDetailsVO();
userVO.setUserId(userid);
userVO.setPassWord(password);
userVO.setUserName(username);
userVO.setBirthDay(birthDay);
userVO.setSsn(ssn);
LOGGER.debug("###### userVO is {}", userVO);
return new EgovUserDetails(userid, password, enabled, userVO);
}
}