Integer mandantId = (Integer) session.getAttribute(Constants.MANDANT_ID);
Integer naOpNuId = cService.getNaOpNuId(request, customizingId);
boolean isOperativerNutzen = cService.isOperativerNutzen(request);
// Alle zugewiesenen Nutzenkriterien zur gew�hlten Kategorie holen
Nutzenkriterium n = new Nutzenkriterium();
n.setNutzenattraktivitaetOperativerNutzenId(naOpNuId);
n.setMandantId(mandantId);
List<Nutzenkriterium> kriterien = dao.getAssignments(n);
if (kriterien.size() == 0) {
return false;
}
// Formulardaten wieder abf�llen (bei gescheiterter Validierung)
AutoGrowingList list = form.getNutzenkriteriumLine();
if (list != null) {
// Formulardaten zum Abgleich in eine HashMap stellen
Iterator it = list.iterator();
HashMap<Integer, String> formData = new HashMap<Integer, String>();
while (it.hasNext()) {
NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
formData.put(nl.getNutzenkriteriumId(), nl.getFrage());
}
// Nutzennkriterium suchen
for (int i = 0; i < kriterien.size(); i++) {
Nutzenkriterium kriterium = (Nutzenkriterium) kriterien.get(i);
Integer nutzenkriteriumId =
(Integer) kriterium.getNutzenkriteriumId();
if (formData.containsKey(nutzenkriteriumId)) {
// Frage mit Formulardaten ersetzen
String frage = formData.get(nutzenkriteriumId);
// Fragen f�r Projektbetroffene
if (isOperativerNutzen) {
logger.debug("Ersetze Frage in Datenbank: "
+ kriterium.getFrageProjektbetroffene()
+ " mit Frage aus Formular: " + frage);
kriterium.setFrageProjektbetroffene(frage);
}
// Fragen f�r Management
else {
logger.debug("Ersetze Frage in Datenbank: "
+ kriterium.getFrageManagement()
+ " mit Frage aus Formular: " + frage);
kriterium.setFrageManagement(frage);
}
kriterien.set(i, kriterium);
}
}
}