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.edit;
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.commons.logging.Log;
34 import org.apache.commons.logging.LogFactory;
35
36 import org.fhw.cabaweb.data.DataInterfaceProjekte;
37
38 import org.fhw.cabaweb.ojb.dataobjects.Gruppenmitglieder;
39 import org.fhw.cabaweb.ojb.dataobjects.Projekte;
40
41 import org.fhw.cabaweb.webfrontend.configs.Keys;
42 import org.fhw.cabaweb.webfrontend.forms.simple.GruppenmitgliedForm;
43
44 /***
45 * <strong>Action</strong>-Klasse für die Gruppenmitglied Anlegen Action .
46 * Die Controller Klasse der Struts Model View Controller Architektur.
47 *
48 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
49 * @version Version 1.0 07.07.2004
50 */
51 public final class GruppenmitgliedAnlegenAction extends Action {
52
53 /***
54 * The <code>Log</code> instance for this application.
55 */
56 private Log log = LogFactory.getLog("org.fhw.cabaweb.webfrontend.actions.edit");
57
58 /***
59 * Verarbeiten der spezifizierten HTTP Anfrage und erzeugen der zugeordneten
60 * HTTP Antwort bzw. Forwarden an eine andere Web Komponente, die die Antwort
61 * erzeugt.
62 *
63 * Gibt eine <code>ActionForward</code> Instanz zurück die angibt wohin und wie
64 * die Kontrolle weitergegeben werden soll. Kann auch <code>null</code> sein,
65 * wenn die Anfrage bereits bearbeitet wurde.
66 *
67 * @param mapping Das ActionMapping das benutzt wurde um diese Instanz zu selektieren
68 * @param form Das optionale ActionForm Bean für die Anfrage (soweit vorhanden)
69 * @param request Die HTTP Anfrage die wir gerade bearbeiten
70 * @param response The HTTP Antwort die wir erzeugen
71 *
72 * @return Die Action zu der wir weiterleiten
73 * @exception Exception wenn ein Eingabe-/Ausgabe Fehler auftritt oder eine Servlet Exception auftritt
74 * bzw. die Business Logik einen Fehler verursacht
75 */
76 public ActionForward execute(ActionMapping mapping,
77 ActionForm form,
78 HttpServletRequest request,
79 HttpServletResponse response)
80 throws Exception
81 {
82 /*** Forwarding Action Variable mit null initialisieren */
83
84 /*** Die Locale Variable (Sprache, Formatierung, etc.) */
85
86 /*** Die Resourcen (lokalisierten Meldungen) der Anfrage holen */
87
88 /*** Wenn Fehler bei der Validierung Fehler auftreten werden Sie diesem
89 * <code>ActionErrors</code> Objekt hinzugefügt.
90 */
91
92
93 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
94 DataInterfaceProjekte dip = new DataInterfaceProjekte();
95 /*** Die Session der aktuellen Anfrage */
96 HttpSession session = request.getSession();
97 /*** Die übergebene Action */
98 String action = "Create";
99
100 if (log.isDebugEnabled())
101 {
102 log.debug("GruppenmitgliedAnlegenAction: Processing creation of new Group Member");
103 }
104
105 Gruppenmitglieder gruppenmitglied = new Gruppenmitglieder();
106
107 if (gruppenmitglied != null)
108 {
109 session.setAttribute(Keys.GRUPPENMITGLIED_KEY, gruppenmitglied);
110 }
111
112 Collection projekte = dip.sucheAlle();
113 Iterator iter = projekte.iterator();
114
115 while(iter.hasNext())
116 {
117 Projekte temp = (Projekte) iter.next();
118
119 if(temp == null)
120 {
121 if (log.isDebugEnabled())
122 {
123 log.debug(" REMOVE NULL");
124 }
125
126 iter.remove();
127 }
128 else if(temp.getAktiv() == null || (temp.getAktiv()).booleanValue() == false)
129 {
130 if (log.isDebugEnabled())
131 {
132 log.debug(" REMOVE INACTIVE / NULL");
133 }
134
135 iter.remove();
136 }
137 else if((temp.getProjektname()).compareTo("Administration") == 0)
138 {
139 if (log.isDebugEnabled())
140 {
141 log.debug(" REMOVE ADMINISTRATION");
142 }
143
144 iter.remove();
145 }
146 }
147
148 if (log.isDebugEnabled())
149 {
150 log.debug(" Anzahl der Projekte " + projekte.size());
151 }
152
153 if (projekte != null)
154 {
155 session.setAttribute(Keys.PROJEKTE_KEY, projekte);
156 }
157
158
159 if (form == null)
160 {
161 if (log.isDebugEnabled())
162 {
163 log.debug(" Creating new GruppenmitgliedForm bean under key " + mapping.getAttribute());
164 }
165
166 form = new GruppenmitgliedForm();
167
168 if ("request".equals(mapping.getScope()))
169 {
170 request.setAttribute(mapping.getAttribute(), form);
171 }
172 else
173 {
174 session.setAttribute(mapping.getAttribute(), form);
175 }
176 }
177
178 GruppenmitgliedForm gmform = (GruppenmitgliedForm) form;
179 gmform.setAction(action);
180
181
182 if (log.isDebugEnabled())
183 {
184 log.debug(" Forwarding to 'success' page");
185 }
186 return (mapping.findForward("success"));
187 }
188 }