KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > quikj > application > communicator > applications > webtalk > controller > RestrictedAccessUserManagementAction


1
2 package com.quikj.application.communicator.applications.webtalk.controller;
3
4 import java.sql.Connection JavaDoc;
5
6 import javax.servlet.http.HttpServletRequest JavaDoc;
7 import javax.servlet.http.HttpServletResponse JavaDoc;
8
9 import org.apache.struts.action.Action;
10 import org.apache.struts.action.ActionError;
11 import org.apache.struts.action.ActionErrors;
12 import org.apache.struts.action.ActionForm;
13 import org.apache.struts.action.ActionForward;
14 import org.apache.struts.action.ActionMapping;
15 import org.apache.struts.action.ActionMessage;
16 import org.apache.struts.action.ActionMessages;
17
18 import com.quikj.application.communicator.admin.controller.LinkAttribute;
19 import com.quikj.application.communicator.admin.model.AccountElement;
20 import com.quikj.application.communicator.applications.webtalk.model.RestrictedAccessUserElement;
21 import com.quikj.application.communicator.applications.webtalk.model.RestrictedAccessUserTable;
22 import com.quikj.server.framework.AceLogger;
23 /**
24  *
25  * @author bhm
26  */

27 public class RestrictedAccessUserManagementAction extends Action
28 {
29     
30     /** Creates a new instance of RestrictedAccessUserManagementAction */
31     public RestrictedAccessUserManagementAction()
32     {
33     }
34     
35     public ActionForward execute(ActionMapping mapping,
36     ActionForm form,
37     HttpServletRequest JavaDoc request,
38     HttpServletResponse JavaDoc response)
39     {
40         RestrictedAccessUserManagementForm uform = (RestrictedAccessUserManagementForm)form;
41         
42         ActionErrors errors = new ActionErrors();
43         
44         Connection JavaDoc c = (Connection JavaDoc)request.getSession().getAttribute("connection");
45         if (c == null)
46         {
47             errors.add(ActionErrors.GLOBAL_ERROR,
48             new ActionError("error.not.logged.in"));
49             saveErrors(request, errors);
50             return mapping.findForward("logon");
51         }
52         
53         AccountElement element = (AccountElement)request.getSession().getAttribute("userInfo");
54         if (element.isAdminLevel() == false)
55         {
56             errors.add(ActionErrors.GLOBAL_ERROR,
57             new ActionError("error.insufficient.privilege"));
58             saveErrors(request, errors);
59             
60             return mapping.findForward("main_menu");
61         }
62         
63         if (uform.getSubmit().equals("Find") == true)
64         {
65             RestrictedAccessUserTable tbl = new RestrictedAccessUserTable();
66             tbl.setConnection(c);
67             
68             RestrictedAccessUserElement e = tbl.query(uform.getName());
69             
70             if (e == null)
71             {
72                 errors.add(ActionErrors.GLOBAL_ERROR,
73                 new ActionError("error.restr.accessuser.not.exist"));
74                 
75                 if (tbl.getErrorMessage() != null)
76                 {
77                     AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG,
78                     "RestrictedAccessUserManagementAction.execute()/Find/by-"
79                     + element.getName()
80                     + ": "
81                     + tbl.getErrorMessage());
82                 }
83             }
84             else
85             {
86                 uform.setInfoParms(e.getInfoParms());
87                 uform.setEmail(e.getEmail());
88                 uform.setFullName(e.getFullName());
89                 uform.setName(e.getName());
90             }
91         }
92         else if (uform.getSubmit().equals("Modify") == true)
93         {
94             RestrictedAccessUserTable tbl = new RestrictedAccessUserTable();
95             tbl.setConnection(c);
96             
97             RestrictedAccessUserElement e = new RestrictedAccessUserElement();
98             e.setInfoParms(uform.getInfoParms());
99             e.setEmail(uform.getEmail());
100             e.setFullName(uform.getFullName());
101             e.setName(uform.getName());
102             
103             String JavaDoc password = uform.getPassword();
104             if ((password != null) && (password.length() > 0))
105             {
106                 e.setPassword(password);
107             }
108             
109             if (tbl.modify(e) == false)
110             {
111                 if (tbl.getErrorMessage() == null)
112                 {
113                     errors.add(ActionErrors.GLOBAL_ERROR,
114                     new ActionError("error.restr.accessuser.not.exist"));
115                 }
116                 else
117                 {
118                     errors.add(ActionErrors.GLOBAL_ERROR,
119                     new ActionError("error.db.failure"));
120                     
121                     AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG,
122                     "RestrictedAccessUserManagementAction.execute()/Modify/by-"
123                     + element.getName()
124                     + ": "
125                     + tbl.getErrorMessage());
126                 }
127             }
128             else
129             {
130                 AceLogger.Instance().log(AceLogger.INFORMATIONAL, AceLogger.USER_LOG,
131                 "User " + element.getName() + " modified webtalk restricted access user " +
132                 uform.getName());
133                 
134                 // forward control to the webtalk main menu
135
ActionMessages messages = new ActionMessages();
136                 messages.add(ActionMessages.GLOBAL_MESSAGE,
137                 new ActionMessage("message.restr.accessuser.modified"));
138                 
139                 saveMessages(request, messages);
140                 return mapping.findForward("webtalk_main_menu");
141             }
142         }
143         else if (uform.getSubmit().equals("Create") == true)
144         {
145             RestrictedAccessUserTable tbl = new RestrictedAccessUserTable();
146             tbl.setConnection(c);
147             
148             RestrictedAccessUserElement e = new RestrictedAccessUserElement();
149             
150             e.setInfoParms(uform.getInfoParms());
151             e.setEmail(uform.getEmail());
152             e.setFullName(uform.getFullName());
153             e.setName(uform.getName());
154             e.setPassword(uform.getPassword());
155             
156             if (tbl.create(e) == false)
157             {
158                 errors.add(ActionErrors.GLOBAL_ERROR,
159                 new ActionError("error.restr.accessuser.create.failure"));
160                 
161                 AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG,
162                 "RestrictedAccessUserManagementAction.execute()/Create/by-"
163                 + element.getName()
164                 + ": "
165                 + tbl.getErrorMessage());
166             }
167             else
168             {
169                 AceLogger.Instance().log(AceLogger.INFORMATIONAL, AceLogger.USER_LOG,
170                 "User " + element.getName() + " created webtalk restricted access user " +
171                 uform.getName());
172                 
173                 // forward control to the webtalk main menu
174
ActionMessages messages = new ActionMessages();
175                 messages.add(ActionMessages.GLOBAL_MESSAGE,
176                 new ActionMessage("message.restr.accessuser.created"));
177                 saveMessages(request, messages);
178                 return mapping.findForward("webtalk_main_menu");
179             }
180         }
181         else if (uform.getSubmit().equals("Delete") == true)
182         {
183             RestrictedAccessUserTable tbl = new RestrictedAccessUserTable();
184             tbl.setConnection(c);
185             
186             if (tbl.delete(uform.getName()) == false)
187             {
188                 if (tbl.getErrorMessage() == null)
189                 {
190                     errors.add(ActionErrors.GLOBAL_ERROR,
191                     new ActionError("error.restr.accessuser.not.exist"));
192                 }
193                 else
194                 {
195                     errors.add(ActionErrors.GLOBAL_ERROR,
196                     new ActionError("error.db.failure"));
197                     
198                     AceLogger.Instance().log(AceLogger.ERROR, AceLogger.SYSTEM_LOG,
199                     "RestrictedAccessUserManagementAction.execute()/Delete/by-"
200                     + element.getName()
201                     + ": "
202                     + tbl.getErrorMessage());
203                 }
204             }
205             else
206             {
207                 AceLogger.Instance().log(AceLogger.INFORMATIONAL, AceLogger.USER_LOG,
208                 "User " + element.getName() + " deleted webtalk restricted access user " +
209                 uform.getName());
210                 
211                 // forward control to the webtalk main menu
212
ActionMessages messages = new ActionMessages();
213                 messages.add(ActionMessages.GLOBAL_MESSAGE,
214                 new ActionMessage("message.restr.accessuser.deleted"));
215                 saveMessages(request, messages);
216                 return mapping.findForward("webtalk_main_menu");
217             }
218         }
219         
220         if (errors.isEmpty() == false)
221         {
222             saveErrors(request, errors);
223         }
224         
225         // add related tasks to the navigation bar
226
WebTalkRelatedTasks menu = new WebTalkRelatedTasks();
227         menu.addLink(new LinkAttribute("Search restricted access users", "display_restricted_access_user_search"));
228         request.setAttribute("menu", menu);
229         
230         return mapping.getInputForward();
231     }
232     
233 }
234
Popular Tags