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 UDUserServerImpl extends DatabaseUserServer {
@Override
protected String getUserByIdQuery() {
return "select * from person where id=?";
}
@Override
protected String getUserByUsernameQuery() {
return "select * from person where username=?";
}
@Override
protected String loginQuery() {
return "select id from person where username=?";
}
@Override
protected String getUsersByRoleQuery() {
return "SELECT DISTINCT person.* FROM person, person_role WHERE " +
"person.id = person_role.person_id AND person_role.role_id = ? " +
"AND person.active=? Order By person.firstname";
}
@Override
protected String getAllUsersQuery(boolean inactive) {
String query = "select * from person";
return inactive ? query +" ORDER BY person.firstname" : query + " WHERE active=1" +" ORDER BY person.firstname";
}
@Override
protected String isActiveQuery() {
return "Select active From person Where username=?";
}
@Override
protected String hasRoleQuery() {
return "SELECT person_id FROM person_role WHERE (role_id= ? AND person_id=?)";
}
@Override
protected ParameterizedRowMapper<Person> getRowMapper() {
return new ParameterizedRowMapper<Person>() {
public Person mapRow(ResultSet rs, int rowNr) throws SQLException {
long userId = rs.getLong("id");
String username = rs.getString("username");
String lastName = rs.getString("surname");
String firstName = rs.getString("firstname");
return new Person(userId, firstName, lastName, username,
username + "@underdusken.no");
}
};
}
@Override
public boolean isGod(Person userID) {
return true;
}
}