package fi.otavanopisto.pyramus.rest.security; import javax.inject.Inject; import fi.otavanopisto.pyramus.dao.students.StudentDAO; import fi.otavanopisto.pyramus.domainmodel.users.User; import fi.otavanopisto.pyramus.security.impl.UserContextResolver; import fi.otavanopisto.security.ContextReference; public class RESTCourseStudentUserContextResolverImpl implements UserContextResolver { @Inject private StudentDAO studentDAO; @Override public boolean handlesContextReference(ContextReference contextReference) { return fi.otavanopisto.pyramus.rest.model.CourseStudent.class.isInstance(contextReference); } @Override public User resolveUser(ContextReference contextReference) { if (fi.otavanopisto.pyramus.rest.model.CourseStudent.class.isInstance(contextReference)) { fi.otavanopisto.pyramus.rest.model.CourseStudent student = (fi.otavanopisto.pyramus.rest.model.CourseStudent) contextReference; Long id = student.getStudentId(); return id != null ? studentDAO.findById(id) : null; } return null; } }