package de.nak.notendb.action;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;
import de.nak.notendb.model.Manipel;
import de.nak.notendb.model.Pruefung;
import de.nak.notendb.model.Pruefungsleistung;
import de.nak.notendb.service.ManipelService;
import de.nak.notendb.service.PruefungService;
import de.nak.notendb.service.PruefungsleistungService;
/**
* @author Nils Foßhag
*
* Action Klasse, welche die benötigten Daten für die Anzeige der noch
* offenen mündlichen Prüfungsergebnisse bereitstellt.
*/
@SuppressWarnings("serial")
public class ZeigeMuendlicheAction extends ActionSupport implements SessionAware {
// Services
private ManipelService manipelService;
private PruefungService pruefungService;
private PruefungsleistungService pruefungsleistungService;
// Value-Initialisierung fürs View:
private Date datum;
private String uhrzeit;
// Vom View erwartete Attribute
private Long selektierteManipelId;
private Long selektiertePruefungId;
private Long selektiertePruefungsfachId;
private Map<String, Object> session;
/**
* Die Mündlichen Prüfungen zur getätigten Auswahl werden in der Session
* bereitgestellt.
*/
public String execute() throws Exception {
Manipel manipel = manipelService.ladeManipel(selektierteManipelId);
Pruefung pruefung = pruefungService.ladePruefung(selektiertePruefungId);
List<Pruefungsleistung> pruefungsleistungen = pruefungsleistungService
.ladeMuendlicheZuPruefung(selektiertePruefungId);
Collections.sort(pruefungsleistungen);
// Initialwerte für das Folgeview setzen:
datum = new Date();
uhrzeit = "12:00";
session.put("manipel", manipel);
session.put("pruefung", pruefung);
session.put("pruefungsleistungen", pruefungsleistungen);
return SUCCESS;
}
public Long getSelektiertePruefungId() {
return selektiertePruefungId;
}
public void setSelektiertePruefungId(Long selektiertePruefungId) {
this.selektiertePruefungId = selektiertePruefungId;
}
public Long getSelektierteManipelId() {
return selektierteManipelId;
}
public void setSelektierteManipelId(Long selektierteManipelId) {
this.selektierteManipelId = selektierteManipelId;
}
public ManipelService getManipelService() {
return manipelService;
}
public void setManipelService(ManipelService manipelService) {
this.manipelService = manipelService;
}
public PruefungService getPruefungService() {
return pruefungService;
}
public void setPruefungService(PruefungService pruefungService) {
this.pruefungService = pruefungService;
}
public PruefungsleistungService getPruefungsleistungService() {
return pruefungsleistungService;
}
public void setPruefungsleistungService(PruefungsleistungService pruefungsleistungService) {
this.pruefungsleistungService = pruefungsleistungService;
}
public Long getSelektiertePruefungsfachId() {
return selektiertePruefungsfachId;
}
public void setSelektiertePruefungsfachId(Long selektiertePruefungsfachId) {
this.selektiertePruefungsfachId = selektiertePruefungsfachId;
}
@Override
public void setSession(Map<String, Object> session) {
this.session = session;
}
public Date getDatum() {
return datum;
}
public void setDatum(Date datum) {
this.datum = datum;
}
public String getUhrzeit() {
return uhrzeit;
}
public void setUhrzeit(String uhrzeit) {
this.uhrzeit = uhrzeit;
}
}