KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > efs > openreports > actions > UserAdminAction


1 /*
2  * Copyright (C) 2003 Erik Swenson - erik@oreports.com
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the Free
6  * Software Foundation; either version 2 of the License, or (at your option)
7  * any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
16  * Place - Suite 330, Boston, MA 02111-1307, USA.
17  *
18  */

19
20 package org.efs.openreports.actions;
21
22 import java.util.List JavaDoc;
23 import java.util.Set JavaDoc;
24
25 import com.opensymphony.xwork.ActionContext;
26 import com.opensymphony.xwork.ActionSupport;
27
28 import org.apache.log4j.Logger;
29
30 import org.efs.openreports.ORStatics;
31 import org.efs.openreports.objects.ReportAlert;
32 import org.efs.openreports.objects.ReportUser;
33 import org.efs.openreports.providers.AlertProvider;
34 import org.efs.openreports.providers.AlertProviderAware;
35 import org.efs.openreports.providers.ReportProvider;
36 import org.efs.openreports.providers.ReportProviderAware;
37 import org.efs.openreports.providers.UserProvider;
38 import org.efs.openreports.providers.UserProviderAware;
39 import org.efs.openreports.util.LocalStrings;
40
41 public class UserAdminAction extends ActionSupport implements UserProviderAware, ReportProviderAware, AlertProviderAware
42 {
43     protected static Logger log = Logger.getLogger(UserAdminAction.class);
44     
45     private String JavaDoc submitType;
46     
47     private int id;
48     private String JavaDoc name;
49     private String JavaDoc password;
50     private String JavaDoc passwordConfirm;
51     private String JavaDoc email;
52     private int reportId;
53     private Set JavaDoc reports;
54         
55     private UserProvider userProvider;
56     private ReportProvider reportProvider;
57     private AlertProvider alertProvider;
58     
59     public String JavaDoc execute()
60     {
61         ReportUser user =
62         (ReportUser) ActionContext.getContext().getSession().get(
63                 ORStatics.REPORT_USER);
64         
65         reports = user.getReports();
66
67         try
68         {
69             if (submitType == null)
70             {
71                 id = user.getId().intValue();
72                 name = user.getName();
73                 password = user.getPassword();
74                 passwordConfirm = user.getPassword();
75                 email = user.getEmail();
76                 
77                 if (user.getDefaultReport() != null)
78                 {
79                     reportId = user.getDefaultReport().getId().intValue();
80                 }
81                                             
82                 return INPUT;
83             }
84             
85             if (!password.equals(passwordConfirm))
86             {
87                 addActionError(LocalStrings.getString(LocalStrings.ERROR_INVALID_PASSWORD));
88                 return INPUT;
89             }
90
91             user.setName(name);
92             user.setPassword(password);
93             user.setEmail(email);
94             
95             if (reportId > 0)
96             {
97                 user.setDefaultReport(reportProvider.getReport(new Integer JavaDoc(reportId)));
98             }
99             else
100             {
101                 user.setDefaultReport(null);
102             }
103                                     
104             userProvider.updateUser(user);
105             
106             if (user.isDashboardUser()) return ORStatics.DASHBOARD_ACTION;
107             
108             return SUCCESS;
109         }
110         catch (Exception JavaDoc e)
111         {
112             addActionError(e.toString());
113             return INPUT;
114         }
115     }
116
117     public String JavaDoc getPassword()
118     {
119         return password;
120     }
121
122     public String JavaDoc getSubmitType()
123     {
124         return submitType;
125     }
126
127     public String JavaDoc getName()
128     {
129         return name;
130     }
131
132     public void setPassword(String JavaDoc password)
133     {
134         this.password = password;
135     }
136
137     public void setSubmitType(String JavaDoc submitType)
138     {
139         this.submitType = submitType;
140     }
141
142     public void setName(String JavaDoc name)
143     {
144         this.name = name;
145     }
146
147     public void setUserProvider(UserProvider userProvider)
148     {
149         this.userProvider = userProvider;
150     }
151
152     public String JavaDoc getEmail()
153     {
154         return email;
155     }
156
157     public void setEmail(String JavaDoc email)
158     {
159         this.email = email;
160     }
161
162     public String JavaDoc getPasswordConfirm()
163     {
164         return passwordConfirm;
165     }
166
167     public void setPasswordConfirm(String JavaDoc passwordConfirm)
168     {
169         this.passwordConfirm = passwordConfirm;
170     }
171
172     public int getId()
173     {
174         return id;
175     }
176
177     public void setId(int id)
178     {
179         this.id = id;
180     }
181
182     public int getReportId()
183     {
184         return reportId;
185     }
186
187     public void setReportId(int reportId)
188     {
189         this.reportId = reportId;
190     }
191
192     public Set JavaDoc getReports()
193     {
194         return reports;
195     }
196     
197     public List JavaDoc getAlerts()
198     {
199         try
200         {
201             return alertProvider.getReportAlerts();
202         }
203         catch (Exception JavaDoc e)
204         {
205             addActionError(e.toString());
206             return null;
207         }
208     }
209     
210     public String JavaDoc[] getOperators()
211     {
212         return new String JavaDoc[] {ReportAlert.OPERATOR_EQUAL, ReportAlert.OPERATOR_GREATER, ReportAlert.OPERATOR_LESS};
213     }
214
215     public void setReportProvider(ReportProvider reportProvider)
216     {
217         this.reportProvider = reportProvider;
218     }
219
220     public void setAlertProvider(AlertProvider alertProvider)
221     {
222         this.alertProvider = alertProvider;
223     }
224 }
Popular Tags