01: /**
02: * Copyright (c) 2004 Red Hat, Inc. All rights reserved.
03: *
04: * This library is free software; you can redistribute it and/or
05: * modify it under the terms of the GNU Lesser General Public
06: * License as published by the Free Software Foundation; either
07: * version 2.1 of the License, or any later version.
08: *
09: * This library is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12: * Lesser General Public License for more details.
13: *
14: * You should have received a copy of the GNU Lesser General Public
15: * License along with this library; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
17: * USA
18: *
19: * Component of: Red Hat Application Server
20: *
21: * Initial Developers: Aizaz Ahmed
22: * Vivek Lakshmanan
23: * Andrew Overholt
24: * Matthew Wringe
25: *
26: */package olstore.action;
27:
28: import olstore.session.helper.UserHelperLocal;
29: import olstore.session.helper.UserHelperLocalHome;
30:
31: import olstore.dto.UserValue;
32: import olstore.form.*;
33: import olstore.framework.EJBHomeFactory;
34:
35: import org.apache.commons.beanutils.BeanUtils;
36:
37: //import javax.servlet.*;
38: import javax.servlet.http.*; //import olstore.entity.*;
39: import org.apache.struts.action.*;
40:
41: public class UserModAction extends DemoBaseAction {
42:
43: /**
44: * Acts as a relay for all user modification related tasks with a default action
45: *
46: */
47: public ActionForward execute(ActionMapping mapping,
48: ActionForm form, HttpServletRequest request,
49: HttpServletResponse response) throws Exception {
50:
51: try {
52: DemoDynaBaseForm modUserForm = (DemoDynaBaseForm) form;
53: String action = (String) modUserForm.get("submitType");
54:
55: if (action.equals("new")) {
56: loadUser(mapping, form, request, response);
57: return mapping.findForward("ModUser");
58: } else if (action.equals("Cancel")) {
59: return new ActionForward("/views/index.do", true);
60: } else {
61: loadUser(mapping, form, request, response);
62: return mapping.findForward("UpdateUser");
63: }
64:
65: } catch (Exception e) {
66: //Logging code here
67: ActionErrors errors = new ActionErrors();
68: errors.add("error", new ActionError("errors.item.load", e
69: .getMessage()));
70: saveErrors(request, errors);
71: // Return to same page
72: return (new ActionForward(mapping.getInput()));
73: }
74:
75: }
76:
77: /**
78: * Load the form with the users data.
79: */
80: public void loadUser(ActionMapping mapping, ActionForm form,
81: HttpServletRequest request, HttpServletResponse response)
82: throws Exception {
83: DemoDynaBaseForm modUserForm = (DemoDynaBaseForm) form;
84: String username = request.getRemoteUser();
85: EJBHomeFactory factory = EJBHomeFactory.getInstance();
86: UserHelperLocalHome userHelperHome = (UserHelperLocalHome) factory
87: .getLocalHome(EJBHomeFactory.USER_HELPER);
88: UserHelperLocal userHelper = userHelperHome.create();
89: UserValue userValue = userHelper.getUserValue(username);
90:
91: //copy values from the DTO to the form
92: BeanUtils.copyProperties(modUserForm, userValue);
93: BeanUtils.copyProperties(modUserForm, userValue.getAddress());
94: }
95:
96: }
|