KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > cowsultants > itracker > web > actions > EditPreferencesFormAction


1 /*
2  * This software was designed and created by Jason Carroll.
3  * Copyright (c) 2002, 2003, 2004 Jason Carroll.
4  * The author can be reached at jcarroll@cowsultants.com
5  * ITracker website: http://www.cowsultants.com
6  * ITracker forums: http://www.cowsultants.com/phpBB/index.php
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it only under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  */

18
19 package cowsultants.itracker.web.actions;
20
21 import java.io.*;
22 import java.rmi.*;
23 import java.util.*;
24 import javax.ejb.*;
25 import javax.rmi.*;
26 import javax.naming.*;
27 import javax.servlet.*;
28 import javax.servlet.http.*;
29
30 import org.apache.commons.beanutils.*;
31 import org.apache.struts.action.*;
32 import org.apache.struts.upload.*;
33 import org.apache.struts.util.*;
34 import org.apache.struts.validator.*;
35
36 import cowsultants.itracker.ejb.client.exceptions.*;
37 import cowsultants.itracker.ejb.client.interfaces.*;
38 import cowsultants.itracker.ejb.client.models.*;
39 import cowsultants.itracker.ejb.client.resources.*;
40 import cowsultants.itracker.ejb.client.util.*;
41 import cowsultants.itracker.web.forms.*;
42 import cowsultants.itracker.web.util.*;
43
44
45 public class EditPreferencesFormAction extends ITrackerAction {
46
47     public EditPreferencesFormAction() {
48     }
49
50     public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
51         ActionErrors errors = new ActionErrors();
52
53         if(! isLoggedIn(request, response)) {
54             return mapping.findForward("login");
55         }
56
57         try {
58             InitialContext ic = new InitialContext();
59
60             Object JavaDoc uhRef = ic.lookup("java:comp/env/" + UserHandler.JNDI_NAME);
61             UserHandlerHome uhHome = (UserHandlerHome) PortableRemoteObject.narrow(uhRef, UserHandlerHome.class);
62             UserHandler uh = uhHome.create();
63
64             HttpSession session = request.getSession();
65             UserModel user = (UserModel) session.getAttribute(Constants.USER_KEY);
66             if(user == null) {
67                 return mapping.findForward("login");
68             }
69
70             UserPreferencesModel userPrefs = uh.getUserPreferencesByUserId(user.getId());
71
72             UserForm userForm = (UserForm) form;
73             if(userForm == null) {
74                 userForm = new UserForm();
75             }
76             userForm.setLogin(user.getLogin());
77             userForm.setEmail(user.getEmail());
78             userForm.setFirstName(user.getFirstName());
79             userForm.setLastName(user.getLastName());
80
81             Locale userLocale = ITrackerResources.getLocale(userPrefs.getUserLocale());
82             userForm.setUserLocale((userLocale == null ? ITrackerResources.getDefaultLocale() : userLocale.toString()));
83             userForm.setSaveLogin((userPrefs.getSaveLogin() ? "true" : "false"));
84             userForm.setNumItemsOnIndex((userPrefs.getNumItemsOnIndex() < 1 ? ITrackerResources.getString("itracker.web.generic.all", userLocale) : Integer.toString(userPrefs.getNumItemsOnIndex())));
85             userForm.setNumItemsOnIssueList((userPrefs.getNumItemsOnIssueList() < 1 ? ITrackerResources.getString("itracker.web.generic.all", userLocale) : Integer.toString(userPrefs.getNumItemsOnIssueList())));
86             userForm.setShowClosedOnIssueList((userPrefs.getShowClosedOnIssueList() ? "true" : "false"));
87             userForm.setSortColumnOnIssueList(userPrefs.getSortColumnOnIssueList());
88             userForm.setHiddenIndexSections(UserUtilities.getHiddenIndexSections(userPrefs.getHiddenIndexSections()));
89             userForm.setRememberLastSearch((userPrefs.getRememberLastSearch() ? "true" : "false"));
90
91             request.setAttribute("preferencesForm", userForm);
92             session.setAttribute(Constants.EDIT_USER_KEY, user);
93             session.setAttribute(Constants.EDIT_USER_PREFS_KEY, userPrefs);
94             saveToken(request);
95             return mapping.getInputForward();
96         } catch(Exception JavaDoc e) {
97             Logger.logError("Exception while creating edit issue form.", e);
98             errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("itracker.web.error.system"));
99         }
100
101         return mapping.findForward("error");
102     }
103
104 }
105   
Popular Tags