1 19 20 package org.efs.openreports.actions; 21 22 import java.util.List ; 23 import java.util.Set ; 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 submitType; 46 47 private int id; 48 private String name; 49 private String password; 50 private String passwordConfirm; 51 private String email; 52 private int reportId; 53 private Set reports; 54 55 private UserProvider userProvider; 56 private ReportProvider reportProvider; 57 private AlertProvider alertProvider; 58 59 public String 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 (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 e) 111 { 112 addActionError(e.toString()); 113 return INPUT; 114 } 115 } 116 117 public String getPassword() 118 { 119 return password; 120 } 121 122 public String getSubmitType() 123 { 124 return submitType; 125 } 126 127 public String getName() 128 { 129 return name; 130 } 131 132 public void setPassword(String password) 133 { 134 this.password = password; 135 } 136 137 public void setSubmitType(String submitType) 138 { 139 this.submitType = submitType; 140 } 141 142 public void setName(String name) 143 { 144 this.name = name; 145 } 146 147 public void setUserProvider(UserProvider userProvider) 148 { 149 this.userProvider = userProvider; 150 } 151 152 public String getEmail() 153 { 154 return email; 155 } 156 157 public void setEmail(String email) 158 { 159 this.email = email; 160 } 161 162 public String getPasswordConfirm() 163 { 164 return passwordConfirm; 165 } 166 167 public void setPasswordConfirm(String 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 getReports() 193 { 194 return reports; 195 } 196 197 public List getAlerts() 198 { 199 try 200 { 201 return alertProvider.getReportAlerts(); 202 } 203 catch (Exception e) 204 { 205 addActionError(e.toString()); 206 return null; 207 } 208 } 209 210 public String [] getOperators() 211 { 212 return new String [] {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
|