(Integer) session.getAttribute(Constants.CUSTOMIZING_ID);
Integer mandantId = (Integer) session.getAttribute(Constants.MANDANT_ID);
Integer naOpNuId = cService.getNaOpNuId(request, customizingId);
// Alle zugewiesenen Nutzenkriterien zur gew�hlten Kategorie holen
Nutzenkriterium n = new Nutzenkriterium();
n.setNutzenattraktivitaetOperativerNutzenId(naOpNuId);
n.setMandantId(mandantId);
List<Nutzenkriterium> kriterien = dao.getAssignments(n);
// 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, Double[]> formData = new HashMap<Integer, Double[]>();
while (it.hasNext()) {
NutzenkriteriumLine nl = (NutzenkriteriumLine) it.next();
Double kategorieGewichtung = 0.0;
Double gewichtung = 0.0;
try {
kategorieGewichtung = new Double(nl.getKategorieGewichtung());
} catch (Exception e) {}
try {
gewichtung = new Double(nl.getGewichtung());
} catch (Exception e) {}
Double[] gewichtungen = {
gewichtung,
kategorieGewichtung};
formData.put(nl.getNutzenkriteriumId(), gewichtungen);
}
// 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)) {
// Gewichtung mit Formulardaten ersetzen
Double[] gewichtungen = formData.get(nutzenkriteriumId);
kriterium.setGewichtung(gewichtungen[0]);
kriterium.setKategorieGewichtung(gewichtungen[1]);
kriterien.set(i, kriterium);
}
}
}