package org.pegadi.server.user;
import no.dusken.common.model.Person;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* User: jan-preben
* Date: Sep 10, 2010
*/
public class UserServerImpl extends DatabaseUserServer {
private String emailHost;
public void setEmailHost(String emailHost) {
this.emailHost = emailHost;
}
@Override
protected String getUserByIdQuery() {
return "select * from userinfo where userid=?";
}
@Override
protected String getUserByUsernameQuery() {
return "select userid from userinfo where username=?";
}
@Override
protected String loginQuery() {
return "select userid from userinfo where username=?";
}
@Override
protected String getUsersByRoleQuery() {
return "SELECT userinfo.* FROM userinfo, role, userrole WHERE " +
" role.id=? AND userinfo.active=? " +
" AND userrole.fk_userid = userinfo.userid " +
" AND userrole.fk_roleid = role.id " +
" ORDER BY userinfo.firstname";
}
@Override
protected String getAllUsersQuery(boolean inactive) {
String query = "select * from userinfo";
return inactive ? query : query + " Where active=1";
}
@Override
protected String isActiveQuery() {
return "Select active From userinfo Where userid=?";
}
@Override
protected String hasRoleQuery() {
return "SELECT fk_userid FROM userrole WHERE (fk_roleid = ? AND fk_userid=?)";
}
@Override
protected ParameterizedRowMapper<Person> getRowMapper() {
return new ParameterizedRowMapper<Person>() {
public Person mapRow(ResultSet rs, int rowNr) throws SQLException {
return new Person(rs.getLong("userid"),
rs.getString("firstname"),
rs.getString("lastname"),
rs.getString("username"),
rs.getString("username") + "@" + emailHost);
}
};
}
}