package de.nak.notendb.action;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
import de.nak.notendb.model.Pruefungsleistung;
import de.nak.notendb.model.Student;
import de.nak.notendb.service.PruefungsleistungService;
import de.nak.notendb.service.StudentService;
/**
* @author Nils Foßhag
*
* Action Klasse, welche die benötigten Daten für die Anzeige der
* aktuellen Note eines Studenten in einem Fach bereitstellt.
*/
@SuppressWarnings("serial")
public class ZeigeNoteAction extends ActionSupport implements SessionAware {
// Services
private StudentService studentService;
private PruefungsleistungService pruefungsleistungService;
// Vom View erwartete Attribute
private Long selektierteManipelId;
private Long selektierteStudentId;
private Long selektiertePruefungsfachId;
private Map<String, Object> session;
/**
* Für das View werden ein Student und die zugehörige Prüfungsleistung
* bereitgestellt. Das Student Objekt wird verwendet, um bei nicht
* vorhandener Pruefungsleistung den Studenten in der Meldung auszugeben.
*/
public String execute() throws Exception {
Student student = studentService.ladeStudent(selektierteStudentId);
Pruefungsleistung pruefungsleistung = pruefungsleistungService.ladeAktuellGueltigeLeistungZuStudentUndFach(
selektierteStudentId, selektiertePruefungsfachId);
session.put("student", student);
session.put("pruefungsleistung", pruefungsleistung);
return SUCCESS;
}
public StudentService getStudentService() {
return studentService;
}
public void setStudentService(StudentService studentService) {
this.studentService = studentService;
}
public Long getSelektiertePruefungsfachId() {
return selektiertePruefungsfachId;
}
public void setSelektiertePruefungsfachId(Long selektiertePruefungsfachId) {
this.selektiertePruefungsfachId = selektiertePruefungsfachId;
}
public PruefungsleistungService getPruefungsleistungService() {
return pruefungsleistungService;
}
public void setPruefungsleistungService(PruefungsleistungService pruefungsleistungService) {
this.pruefungsleistungService = pruefungsleistungService;
}
public Long getSelektierteStudentId() {
return selektierteStudentId;
}
public void setSelektierteStudentId(Long selektierteStudentId) {
this.selektierteStudentId = selektierteStudentId;
}
public Long getSelektierteManipelId() {
return selektierteManipelId;
}
public void setSelektierteManipelId(Long selektierteManipelId) {
this.selektierteManipelId = selektierteManipelId;
}
@Override
public void setSession(Map<String, Object> session) {
this.session = session;
}
}