package de.nak.notendb.action;
import java.text.NumberFormat;
import java.util.Locale;
import com.opensymphony.xwork2.ActionSupport;
import de.nak.notendb.model.Pruefungsleistung;
import de.nak.notendb.service.PruefungsleistungService;
/**
* @author Nils Foßhag
*
* Action Klasse, welche die Änderung einer Note speichert.
*
*/
@SuppressWarnings("serial")
public class AendereNoteAction extends ActionSupport {
// Services
private PruefungsleistungService pruefungsleistungService;
// Vom View erwartete Attribute
private String note;
private Long selektiertePruefungsleistungId;
/**
* Die Änderung der schriftlichen Note wird gespeichert. Anpassungen
* aufgrung von Business-Logik (z.B. muendl. Mögl. Flag) werden im Service
* realisiert.
*/
@Override
public String execute() throws Exception {
NumberFormat formatter = NumberFormat.getNumberInstance(Locale.GERMANY);
if (selektiertePruefungsleistungId != null) {
Pruefungsleistung p = pruefungsleistungService.ladeLeistung(selektiertePruefungsleistungId);
if (p != null) {
if (note != null && !note.isEmpty()) {
p.setErgebnisNormal(formatter.parse(note).floatValue());
}
// Da kein Sicherheitskonzept realisiert wird wird ein
// Dummy-Erfasser gesetzt.
p.setErfasserName("Dummy");
pruefungsleistungService.aendere(p);
return SUCCESS;
}
}
this.addActionError(getText("error.aenderung"));
return ERROR;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public Long getselektiertePruefungsleistungId() {
return selektiertePruefungsleistungId;
}
public void setSelektiertePruefungsleistungId(Long selektiertePruefungsleistungId) {
this.selektiertePruefungsleistungId = selektiertePruefungsleistungId;
}
public PruefungsleistungService getPruefungsleistungService() {
return pruefungsleistungService;
}
public void setPruefungsleistungService(PruefungsleistungService pruefungsleistungService) {
this.pruefungsleistungService = pruefungsleistungService;
}
}