package fi.otavanopisto.pyramus.json.students;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.math.NumberUtils;
import fi.internetix.smvc.controllers.JSONRequestContext;
import fi.otavanopisto.pyramus.dao.DAOFactory;
import fi.otavanopisto.pyramus.dao.students.StudentDAO;
import fi.otavanopisto.pyramus.domainmodel.students.Student;
import fi.otavanopisto.pyramus.framework.JSONRequestController;
import fi.otavanopisto.pyramus.framework.UserRole;
/**
* JSON request controller to view student info.
*
* @author antti.viljakainen
*/
public class GetStudentInfoJSONRequestController extends JSONRequestController {
/**
* Processes JSON request
*
* In parameters
* - studentId - student id to retrieve information for
*
* Page parameters
* - student - Map including
* * id - Student id
* * firstname - First name
* * lastname - Last name
*
* @param requestContext JSON request context
*/
public void process(JSONRequestContext requestContext) {
StudentDAO studentDAO = DAOFactory.getInstance().getStudentDAO();
Long studentId = NumberUtils.createLong(requestContext.getRequest().getParameter("studentId"));
Student student = studentDAO.findById(studentId);
Map<String, Object> studentInfo = new HashMap<>();
studentInfo.put("id", student.getId());
studentInfo.put("firstname", student.getFirstName());
studentInfo.put("lastname", student.getLastName());
requestContext.addResponseParameter("student", studentInfo);
}
public UserRole[] getAllowedRoles() {
return new UserRole[] { UserRole.EVERYONE };
}
}