1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.fhw.cabaweb.webfrontend.actions.save;
20
21 import java.util.Collection;
22 import java.util.Iterator;
23
24 import javax.servlet.http.HttpServletRequest;
25 import javax.servlet.http.HttpServletResponse;
26 import javax.servlet.http.HttpSession;
27
28 import org.apache.struts.action.Action;
29 import org.apache.struts.action.ActionForm;
30 import org.apache.struts.action.ActionForward;
31 import org.apache.struts.action.ActionMapping;
32
33 import org.apache.struts.util.MessageResources;
34 import org.apache.struts.validator.DynaValidatorForm;
35
36 import org.apache.commons.logging.Log;
37 import org.apache.commons.logging.LogFactory;
38
39 import org.fhw.cabaweb.data.DataInterfaceErgebnissdaten;
40 import org.fhw.cabaweb.data.DataInterfaceErgebnissdatenGruppierungsnamen;
41 import org.fhw.cabaweb.data.DataInterfaceGruppenmitglieder;
42 import org.fhw.cabaweb.data.constants.Constants;
43 import org.fhw.cabaweb.data.dataobjects.Ergebniss;
44
45 import org.fhw.cabaweb.ojb.dataobjects.Ergebnissdaten_Gruppierungsnamen;
46 import org.fhw.cabaweb.ojb.dataobjects.Gruppenmitglieder;
47 import org.fhw.cabaweb.webfrontend.configs.Keys;
48
49 /***
50 * <strong>Action</strong>-Klasse für die Save Entscheidung Action .
51 * Die Controller Klasse der Struts Model View Controller Architektur.
52 *
53 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
54 * @version Version 1.0 28.07.2004
55 */
56 public final class SaveEntscheidungAction extends Action {
57
58 /***
59 * The <code>Log</code> instance for this application.
60 */
61 private Log log = LogFactory.getLog("org.fhw.cabaweb.webfrontend.actions.save");
62
63 /***
64 * Verarbeiten der spezifizierten HTTP Anfrage und erzeugen der zugeordneten
65 * HTTP Antwort bzw. Forwarden an eine andere Web Komponente, die die Antwort
66 * erzeugt.
67 *
68 * Gibt eine <code>ActionForward</code> Instanz zurück die angibt wohin und wie
69 * die Kontrolle weitergegeben werden soll. Kann auch <code>null</code> sein,
70 * wenn die Anfrage bereits bearbeitet wurde.
71 *
72 * @param mapping Das ActionMapping das benutzt wurde um diese Instanz zu selektieren
73 * @param form Das optionale ActionForm Bean für die Anfrage (soweit vorhanden)
74 * @param request Die HTTP Anfrage die wir gerade bearbeiten
75 * @param response The HTTP Antwort die wir erzeugen
76 *
77 * @return Die Action zu der wir weiterleiten
78 * @exception Exception wenn ein Eingabe-/Ausgabe Fehler auftritt oder eine Servlet Exception auftritt
79 * bzw. die Business Logik einen Fehler verursacht
80 */
81 public ActionForward execute(ActionMapping mapping,
82 ActionForm form,
83 HttpServletRequest request,
84 HttpServletResponse response)
85 throws Exception {
86 /*** Forwarding Action Variable mit null initialisieren */
87
88 /*** Die Locale Variable (Sprache, Formatierung, etc.) */
89
90
91 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
92 DataInterfaceErgebnissdatenGruppierungsnamen diegn = new DataInterfaceErgebnissdatenGruppierungsnamen();
93 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
94 DataInterfaceGruppenmitglieder digm = new DataInterfaceGruppenmitglieder();
95 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
96 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
97 /*** Die Resourcen (lokalisierten Meldungen) der Anfrage holen */
98 MessageResources messages = getResources(request, "EntscheidungenResources");
99 /*** Die Session der aktuellen Anfrage */
100 HttpSession session = request.getSession();
101 /*** Das übergebene Formular */
102 DynaValidatorForm dvform = (DynaValidatorForm) form;
103 /*** Die übergebene Action */
104 String action = (String) dvform.get("action");
105
106 /*** Zwischenspeichvaribale für den Rückgabewert */
107 boolean returnvalue = false;
108 /*** Zwischenspeichvaribale für die Entscheidung */
109 Collection entscheidungen = null;
110
111 /*** Zwischenspeichvaribale für den Status des Benutzers (Administrator ???) */
112 boolean isAdmin = request.isUserInRole("Administrator");
113 /*** Zwischenspeichvaribale für den Status des Benutzers (Projektleiter ???) */
114 boolean isProjectleader = false;
115 /*** Zwischenspeichvaribale für den Status des Benutzers (Benutzer ???) */
116 boolean isUser = false;
117 /*** Zwischenspeichvaribale für den Namen des Benutzers */
118 String username = request.getRemoteUser();
119
120 if(!isAdmin)
121 {
122 isProjectleader = request.isUserInRole("Projektleiter");
123 }
124 if(!isAdmin && !isProjectleader)
125 {
126 isUser = request.isUserInRole("Benutzer");
127 }
128
129 if (action == null)
130 {
131 action = "?";
132 }
133
134 if (log.isDebugEnabled())
135 {
136 log.debug("SaveEntscheidungAction: Processing " + action + " action");
137 if(isAdmin)
138 {
139 log.debug(" User has Role: Administrator");
140 }
141 else if(isProjectleader)
142 {
143 log.debug(" User has Role: Projectleader");
144 }
145 else if(isUser)
146 {
147 log.debug(" User has Role: User");
148 }
149 }
150
151
152 if (isCancelled(request))
153 {
154 if (log.isDebugEnabled())
155 {
156 log.debug(" Transaction '" + action + "' was cancelled");
157 }
158
159 session.removeAttribute(Keys.ENTSCHEIDUNGEN_KEY);
160 return (mapping.findForward("success"));
161 }
162
163 Collection usernames = digm.sucheLogInName(username);
164 Iterator iter = usernames.iterator();
165 Gruppenmitglieder user = null;
166
167 if(iter.hasNext())
168 {
169 user = (Gruppenmitglieder) iter.next();
170
171 if (log.isDebugEnabled())
172 {
173 log.debug("SaveEntscheidungAction: User '" + user.toString() + "'");
174 }
175 }
176
177 Integer projektnummer = user.getProjektgruppe().getProjekte().getProjektnummer();
178 Integer gruppennummer = user.getProjektgruppe().getGruppennummer();
179 Integer quartal = user.getProjektgruppe().getProjekte().getAktuellesQuartal();
180
181 entscheidungen = (Collection) session.getAttribute(Keys.ENTSCHEIDUNGEN_KEY);
182
183 if (entscheidungen == null)
184 {
185 if (log.isDebugEnabled())
186 {
187 log.debug(" In Session saved Entscheidung is NULL.");
188 }
189
190
191
192 if (log.isDebugEnabled())
193 {
194 log.debug(" Populating database from form bean");
195 }
196 }
197
198 Collection gruppierungsnamen = diegn.sucheKombination(null, projektnummer, Constants.EG_ENTSCHEIDUNGEN_KEY);
199 iter = gruppierungsnamen.iterator();
200 Ergebnissdaten_Gruppierungsnamen gruppierungsname = null;
201 Integer gruppierungsnummer = null;
202
203 if(iter.hasNext())
204 {
205 gruppierungsname = (Ergebnissdaten_Gruppierungsnamen) iter.next();
206
207 gruppierungsnummer = gruppierungsname.getGruppierungsnummer();
208
209 if (log.isDebugEnabled())
210 {
211 log.debug(" Group Nr. '" + gruppierungsname.getGruppierungsnummer() + "'");
212 }
213 }
214
215 entscheidungen = die.sucheKombination_Gruppierung(projektnummer, gruppennummer, new Integer(quartal.intValue() + 1), gruppierungsnummer);
216
217 Iterator entscheidungsiterator = entscheidungen.iterator();
218 while(entscheidungsiterator.hasNext())
219 {
220 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
221
222 if(entscheidung == null)
223 {
224 entscheidungsiterator.remove();
225 }
226 }
227
228 try
229 {
230
231 entscheidungsiterator = entscheidungen.iterator();
232 while(entscheidungsiterator.hasNext())
233 {
234 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
235
236 if(entscheidung == null)
237 {
238 entscheidungsiterator.remove();
239 }
240 }
241
242 entscheidungsiterator = entscheidungen.iterator();
243 while(entscheidungsiterator.hasNext())
244 {
245 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
246
247 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGVERKAUFSPREIS_KEY) == 0)
248 {
249 if (log.isDebugEnabled())
250 {
251 log.debug("preis '" + dvform.get("preis") + "'");
252 }
253
254 entscheidung.setObjectWert(new Double((String) dvform.get("preis")));
255 break;
256 }
257 }
258 entscheidungsiterator = entscheidungen.iterator();
259 while(entscheidungsiterator.hasNext())
260 {
261 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
262
263 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGMARKETING_KEY) == 0)
264 {
265 if (log.isDebugEnabled())
266 {
267 log.debug("marketing '" + dvform.get("marketing") + "'");
268 }
269
270 entscheidung.setObjectWert(new Integer((String) dvform.get("marketing")));
271 break;
272 }
273 }
274 entscheidungsiterator = entscheidungen.iterator();
275 while(entscheidungsiterator.hasNext())
276 {
277 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
278
279 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGMARKTFORSCHUNGSDIENST_KEY) == 0)
280 {
281 if (log.isDebugEnabled())
282 {
283 log.debug("marktforschung '" + dvform.get("marktforschung") + "'");
284 }
285
286 entscheidung.setObjectWert(new Integer((String) dvform.get("marktforschung")));
287 break;
288 }
289 }
290 entscheidungsiterator = entscheidungen.iterator();
291 while(entscheidungsiterator.hasNext())
292 {
293 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
294
295 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGABSETZBAREMENGE_KEY) == 0)
296 {
297 if (log.isDebugEnabled())
298 {
299 log.debug("absetzbaremenge '" + dvform.get("absetzbaremenge") + "'");
300 }
301
302 entscheidung.setObjectWert(new Integer((String) dvform.get("absetzbaremenge")));
303 break;
304 }
305 }
306 entscheidungsiterator = entscheidungen.iterator();
307 while(entscheidungsiterator.hasNext())
308 {
309 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
310
311 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGPRODUKTART_KEY) == 0)
312 {
313 if (log.isDebugEnabled())
314 {
315 log.debug("produktart '" + dvform.get("produktart") + "'");
316 }
317
318 entscheidung.setObjectWert(new Integer((String) dvform.get("produktart")));
319 break;
320 }
321 }
322 entscheidungsiterator = entscheidungen.iterator();
323 while(entscheidungsiterator.hasNext())
324 {
325 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
326
327 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGPRODUKTIONSMENGE_KEY) == 0)
328 {
329 if (log.isDebugEnabled())
330 {
331 log.debug("produktionsmenge '" + dvform.get("produktionsmenge") + "'");
332 }
333
334 entscheidung.setObjectWert(new Integer((String) dvform.get("produktionsmenge")));
335 break;
336 }
337 }
338 entscheidungsiterator = entscheidungen.iterator();
339 while(entscheidungsiterator.hasNext())
340 {
341 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
342
343 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGQUALITAETSSICHERUNG_KEY) == 0)
344 {
345 if (log.isDebugEnabled())
346 {
347 log.debug("qualitaetssicherung '" + dvform.get("qualitaetssicherung") + "'");
348 }
349
350 entscheidung.setObjectWert(new Double((String) dvform.get("qualitaetssicherung")));
351 break;
352 }
353 }
354 entscheidungsiterator = entscheidungen.iterator();
355 while(entscheidungsiterator.hasNext())
356 {
357 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
358
359 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGQSKOSTENMINIMUM_KEY) == 0)
360 {
361 if (log.isDebugEnabled())
362 {
363 log.debug("qsoptimal '" + dvform.get("qsoptimal") + "'");
364 }
365
366 entscheidung.setObjectWert(new Double((String) dvform.get("qsoptimal")));
367 break;
368 }
369 }
370 entscheidungsiterator = entscheidungen.iterator();
371 while(entscheidungsiterator.hasNext())
372 {
373 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
374
375 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGKAPAZITAETSAUSLASTUNG_KEY) == 0)
376 {
377 if (log.isDebugEnabled())
378 {
379 log.debug("kapazitaetsauslastung '" + dvform.get("kapazitaetsauslastung") + "'");
380 }
381
382 entscheidung.setObjectWert(new Double((String) dvform.get("kapazitaetsauslastung")));
383 break;
384 }
385 }
386 entscheidungsiterator = entscheidungen.iterator();
387 while(entscheidungsiterator.hasNext())
388 {
389 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
390
391 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGINVESTITIONEN_KEY) == 0)
392 {
393 if (log.isDebugEnabled())
394 {
395 log.debug("investition '" + dvform.get("investition") + "'");
396 }
397
398 entscheidung.setObjectWert(new Integer((String) dvform.get("investition")));
399 break;
400 }
401 }
402 entscheidungsiterator = entscheidungen.iterator();
403 while(entscheidungsiterator.hasNext())
404 {
405 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
406
407 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGROHSTOFFBESTELLUNGNORMAL_KEY) == 0)
408 {
409 if (log.isDebugEnabled())
410 {
411 log.debug("rohstoffnormal " + dvform.get("rohstoffnormal") + "'");
412 }
413
414 entscheidung.setObjectWert(new Integer((String) dvform.get("rohstoffnormal")));
415 break;
416 }
417 }
418 entscheidungsiterator = entscheidungen.iterator();
419 while(entscheidungsiterator.hasNext())
420 {
421 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
422
423 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGROHSTOFFBESTELLUNGEXPRESS_KEY) == 0)
424 {
425 if (log.isDebugEnabled())
426 {
427 log.debug("rohstoffexpress '" + dvform.get("rohstoffexpress") + "'");
428 }
429
430 entscheidung.setObjectWert(new Integer((String) dvform.get("rohstoffexpress")));
431 break;
432 }
433 }
434 entscheidungsiterator = entscheidungen.iterator();
435 while(entscheidungsiterator.hasNext())
436 {
437 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
438
439 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGDIVIDENDE_KEY) == 0)
440 {
441 if (log.isDebugEnabled())
442 {
443 log.debug("dividende '" + dvform.get("dividende") + "'");
444 }
445
446 entscheidung.setObjectWert(new Integer((String) dvform.get("dividende")));
447 break;
448 }
449 }
450 entscheidungsiterator = entscheidungen.iterator();
451 while(entscheidungsiterator.hasNext())
452 {
453 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
454
455 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGAENDERUNGBANKDARLEHEN_KEY) == 0)
456 {
457 if (log.isDebugEnabled())
458 {
459 log.debug("aenderungvereinbarterkredit '" + dvform.get("aenderungvereinbarterkredit") + "'");
460 }
461
462 entscheidung.setObjectWert(new Integer((String) dvform.get("aenderungvereinbarterkredit")));
463 break;
464 }
465 }
466 entscheidungsiterator = entscheidungen.iterator();
467 while(entscheidungsiterator.hasNext())
468 {
469 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
470
471 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGERHOEHUNGTILGUNG_KEY) == 0)
472 {
473 if (log.isDebugEnabled())
474 {
475 log.debug("erhoehungoderverminderung '" + dvform.get("erhoehungoderverminderung") + "'");
476 }
477
478 entscheidung.setObjectWert(new Integer((String) dvform.get("erhoehungoderverminderung")));
479 break;
480 }
481 }
482 entscheidungsiterator = entscheidungen.iterator();
483 while(entscheidungsiterator.hasNext())
484 {
485 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
486
487 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGZINSEN_KEY) == 0)
488 {
489 if (log.isDebugEnabled())
490 {
491 log.debug("zinsen '" + dvform.get("zinsen") + "'");
492 }
493
494 entscheidung.setObjectWert(new Integer((String) dvform.get("zinsen")));
495 break;
496 }
497 }
498 entscheidungsiterator = entscheidungen.iterator();
499 while(entscheidungsiterator.hasNext())
500 {
501 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
502
503 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGLIQUIDITAETSAENDERUNG_KEY) == 0)
504 {
505 if (log.isDebugEnabled())
506 {
507 log.debug("liquiditaetsaenderung '" + dvform.get("liquiditaetsaenderung") + "'");
508 }
509
510 entscheidung.setObjectWert(new Integer(((String) dvform.get("liquiditaetsaenderung")).replaceAll("//+", "")));
511 break;
512 }
513 }
514 entscheidungsiterator = entscheidungen.iterator();
515 while(entscheidungsiterator.hasNext())
516 {
517 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
518
519 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGFUNDE_KEY) == 0)
520 {
521 if (log.isDebugEnabled())
522 {
523 log.debug("forschung '" + dvform.get("forschung") + "'");
524 }
525
526 entscheidung.setObjectWert(new Integer((String) dvform.get("forschung")));
527 break;
528 }
529 }
530 entscheidungsiterator = entscheidungen.iterator();
531 while(entscheidungsiterator.hasNext())
532 {
533 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
534
535 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGGRENZGEWINN_KEY) == 0)
536 {
537 if (log.isDebugEnabled())
538 {
539 log.debug("grenzgewinn '" + dvform.get("grenzgewinn") + "'");
540 }
541
542 entscheidung.setObjectWert(new Double((String) dvform.get("grenzgewinn")));
543 break;
544 }
545 }
546 entscheidungsiterator = entscheidungen.iterator();
547 while(entscheidungsiterator.hasNext())
548 {
549 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
550
551 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGLIZENZVERKAUFUNTERNEHMEN_KEY) == 0)
552 {
553 if (log.isDebugEnabled())
554 {
555 log.debug("lizenzverkaufan '" + dvform.get("lizenzverkaufan") + "'");
556 }
557
558 entscheidung.setObjectWert(new Integer((String) dvform.get("lizenzverkaufan")));
559 break;
560 }
561 }
562 entscheidungsiterator = entscheidungen.iterator();
563 while(entscheidungsiterator.hasNext())
564 {
565 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
566
567 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGLIZENZVERKAUFPRODUKTART_KEY) == 0)
568 {
569 if (log.isDebugEnabled())
570 {
571 log.debug("lizenzverkaufproduktart '" + dvform.get("lizenzverkaufproduktart") + "'");
572 }
573
574 entscheidung.setObjectWert(new Integer((String) dvform.get("lizenzverkaufproduktart")));
575 break;
576 }
577 }
578 entscheidungsiterator = entscheidungen.iterator();
579 while(entscheidungsiterator.hasNext())
580 {
581 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
582
583 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGLIZENZKAUFUNTERNEHMEN_KEY) == 0)
584 {
585 if (log.isDebugEnabled())
586 {
587 log.debug("lizenzkaufvon '" + dvform.get("lizenzkaufvon") + "'");
588 }
589
590 entscheidung.setObjectWert(new Integer((String) dvform.get("lizenzkaufvon")));
591 break;
592 }
593 }
594 entscheidungsiterator = entscheidungen.iterator();
595 while(entscheidungsiterator.hasNext())
596 {
597 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
598
599 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGLIZENZKAUFFUER_KEY) == 0)
600 {
601 if (log.isDebugEnabled())
602 {
603 log.debug("lizenzkaufkosten '" + dvform.get("lizenzkaufkosten") + "'");
604 }
605
606 entscheidung.setObjectWert(new Integer((String) dvform.get("lizenzkaufkosten")));
607 break;
608 }
609 }
610 entscheidungsiterator = entscheidungen.iterator();
611 while(entscheidungsiterator.hasNext())
612 {
613 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
614
615 if(entscheidung.getFeldname().compareTo(Constants.EF_ENTSCHEIDUNGBERATUNG_KEY) == 0)
616 {
617 if (log.isDebugEnabled())
618 {
619 log.debug("beratung '" + dvform.get("beratung") + "'");
620 }
621
622 entscheidung.setObjectWert(new Integer((String) dvform.get("beratung")));
623 break;
624 }
625 }
626 }
627 catch (Throwable t)
628 {
629 log.error(" Error in DataTransfer from Form", t);
630 }
631
632 if("Create".equals(action) || action.equals("Edit"))
633 {
634 if (log.isDebugEnabled())
635 {
636 log.debug("Creating a new Entscheidung");
637 }
638
639
640 entscheidungsiterator = entscheidungen.iterator();
641 while(entscheidungsiterator.hasNext())
642 {
643 Ergebniss entscheidung = (Ergebniss) entscheidungsiterator.next();
644
645 if (log.isDebugEnabled())
646 {
647 log.debug(" --");
648 log.debug(" Feldnummer: " + entscheidung.getFeldnummer());
649 log.debug(" Gruppennummer: " + entscheidung.getGruppennummer());
650 log.debug(" Quartal: " + entscheidung.getQuartal());
651 log.debug(" Wert: " + entscheidung.getObjectWert().toString());
652 log.debug(" --");
653 }
654
655 returnvalue = die.editieren(entscheidung.getFeldnummer(), entscheidung.getGruppennummer(), entscheidung.getQuartal(), entscheidung.getObjectWert().toString());
656
657 if (!returnvalue)
658 {
659 if (log.isDebugEnabled())
660 {
661 log.debug(" Entscheidung saving failed");
662 }
663
664 response.sendError(HttpServletResponse.SC_BAD_REQUEST, messages.getMessage("error.benutzerrolle.create"));
665 return (null);
666 }
667 }
668
669 session.removeAttribute(Keys.BENUTZERROLLE_KEY);
670 }
671 else
672 {
673 if (log.isDebugEnabled())
674 {
675 log.debug(" User not authorized to edit Entscheidung");
676 }
677 }
678
679
680 if (mapping.getAttribute() != null)
681 {
682 if ("request".equals(mapping.getScope()))
683 request.removeAttribute(mapping.getAttribute());
684 else
685 session.removeAttribute(mapping.getAttribute());
686 }
687 session.removeAttribute(Keys.BENUTZERROLLE_KEY);
688
689
690 if (log.isDebugEnabled())
691 {
692 log.debug(" Forwarding to 'success' page");
693 }
694 return (mapping.findForward("success"));
695 }
696 }