1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367
| /*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package client;
import com.sun.data.provider.RowKey;
import com.sun.data.provider.impl.CachedRowSetDataProvider;
import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.webui.jsf.component.Form;
import com.sun.webui.jsf.component.PasswordField;
import com.sun.webui.jsf.component.RadioButtonGroup;
import com.sun.webui.jsf.component.TextField;
import com.sun.webui.jsf.model.SingleSelectOptionsList;
import javax.faces.FacesException;
import javax.faces.validator.LengthValidator;
/**
* <p>Page bean that corresponds to a similarly named JSP page. This
* class contains component definitions (and initialization code) for
* all components that you have defined on this page, as well as
* lifecycle methods and event handlers where you may add behavior
* to respond to incoming events.</p>
*
* @version profile.java
* @version Created on 10 août 2009, 08:43:30
* @author NIDHAL
*/
public class profile extends AbstractPageBean {
// <editor-fold defaultstate="collapsed" desc="Managed Component Definition">
/**
* <p>Automatically managed component initialization. <strong>WARNING:</strong>
* This method is automatically generated, so any user-specified code inserted
* here is subject to being replaced.</p>
*/
private void _init() throws Exception {
sexeDefaultOptions.setOptions(new com.sun.webui.jsf.model.Option[]{new com.sun.webui.jsf.model.Option("Homme", "Homme"), new com.sun.webui.jsf.model.Option("Femme", "Femme")});
userDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet) getValue("#{SessionBean1.userRowSet}"));
passwordlengthValidator2.setMaximum(10);
passwordlengthValidator2.setMinimum(6);
}
private SingleSelectOptionsList sexeDefaultOptions = new SingleSelectOptionsList();
public SingleSelectOptionsList getSexeDefaultOptions() {
return sexeDefaultOptions;
}
public void setSexeDefaultOptions(SingleSelectOptionsList ssol) {
this.sexeDefaultOptions = ssol;
}
private LengthValidator passwordlengthValidator = new LengthValidator();
public LengthValidator getPasswordlengthValidator() {
return passwordlengthValidator;
}
public void setPasswordlengthValidator(LengthValidator lv) {
this.passwordlengthValidator = lv;
}
private CachedRowSetDataProvider userDataProvider = new CachedRowSetDataProvider();
public CachedRowSetDataProvider getuserDataProvider() {
return userDataProvider;
}
public void setuserDataProvider(CachedRowSetDataProvider crsdp) {
this.userDataProvider = crsdp;
}
private Form form1 = new Form();
public Form getForm1() {
return form1;
}
public void setForm1(Form f) {
this.form1 = f;
}
private TextField firstname = new TextField();
public TextField getFirstname() {
return firstname;
}
public void setFirstname(TextField tf) {
this.firstname = tf;
}
private TextField lastname = new TextField();
public TextField getLastname() {
return lastname;
}
public void setLastname(TextField tf) {
this.lastname = tf;
}
private RadioButtonGroup sexe = new RadioButtonGroup();
public RadioButtonGroup getSexe() {
return sexe;
}
public void setSexe(RadioButtonGroup rbg) {
this.sexe = rbg;
}
private PasswordField currentpassword = new PasswordField();
public PasswordField getPassword() {
return currentpassword;
}
public void setcurrentpassword(PasswordField pf) {
this.currentpassword = pf;
}
private PasswordField newpassword = new PasswordField();
public PasswordField getNewpassword() {
return newpassword;
}
public void setNewpassword(PasswordField pf) {
this.newpassword = pf;
}
private PasswordField retypenewpassword = new PasswordField();
public PasswordField getRetypenewpassword() {
return retypenewpassword;
}
public void setRetypenewpassword(PasswordField pf) {
this.retypenewpassword = pf;
}
private TextField mobilephone = new TextField();
public TextField getMobilephone() {
return mobilephone;
}
public void setMobilephone(TextField tf) {
this.mobilephone = tf;
}
private TextField company = new TextField();
public TextField getCompany() {
return company;
}
public void setCompany(TextField tf) {
this.company = tf;
}
private TextField department = new TextField();
public TextField getDepartment() {
return department;
}
public void setDepartment(TextField tf) {
this.department = tf;
}
private TextField title = new TextField();
public TextField getTitle() {
return title;
}
public void setTitle(TextField tf) {
this.title = tf;
}
private TextField cams = new TextField();
public TextField getCams() {
return cams;
}
public void setCams(TextField tf) {
this.cams = tf;
}
private TextField interests = new TextField();
public TextField getInterests() {
return interests;
}
public void setInterests(TextField tf) {
this.interests = tf;
}
private TextField login = new TextField();
public TextField getLogin() {
return login;
}
public void setLogin(TextField tf) {
this.login = tf;
}
private LengthValidator passwordlengthValidator2 = new LengthValidator();
public LengthValidator getPasswordlengthValidator2() {
return passwordlengthValidator2;
}
public void setPasswordlengthValidator2(LengthValidator lv) {
this.passwordlengthValidator2 = lv;
}
// </editor-fold>
/**
* <p>Construct a new Page bean instance.</p>
*/
public profile() {
}
/**
* <p>Callback method that is called whenever a page is navigated to,
* either directly via a URL, or indirectly via page navigation.
* Customize this method to acquire resources that will be needed
* for event handlers and lifecycle methods, whether or not this
* page is performing post back processing.</p>
*
* <p>Note that, if the current request is a postback, the property
* values of the components do <strong>not</strong> represent any
* values submitted with this request. Instead, they represent the
* property values that were saved for this view when it was rendered.</p>
*/
@Override
public void init() {
// Perform initializations inherited from our superclass
super.init();
// Perform application initialization that must complete
// *before* managed components are initialized
// TODO - add your own initialiation code here
// <editor-fold defaultstate="collapsed" desc="Managed Component Initialization">
// Initialize automatically managed components
// *Note* - this logic should NOT be modified
try {
_init();
} catch (Exception e) {
log("profile Initialization Failure", e);
throw e instanceof FacesException ? (FacesException) e: new FacesException(e);
}
// </editor-fold>
// Perform application initialization that must complete
// *after* managed components are initialized
// TODO - add your own initialization code here
}
/**
* <p>Callback method that is called after the component tree has been
* restored, but before any event processing takes place. This method
* will <strong>only</strong> be called on a postback request that
* is processing a form submit. Customize this method to allocate
* resources that will be required in your event handlers.</p>
*/
@Override
public void preprocess() {
}
/**
* <p>Callback method that is called just before rendering takes place.
* This method will <strong>only</strong> be called for the page that
* will actually be rendered (and not, for example, on a page that
* handled a postback and then navigated to a different page). Customize
* this method to allocate resources that will be required for rendering
* this page.</p>
*/
@Override
public void prerender() {
this.currentpassword.setText(null);
this.newpassword.setText(null);
this.retypenewpassword.setText(null);
RowKey rowKey = getuserDataProvider().findFirst(
new String[] {"user.login"},
new Object[] {getSessionBean1().getLoggedInlogin()}
);
getuserDataProvider().setCursorRow(rowKey);
// rowKey = getuserDataProvider().findFirst(
// new String[] {"user.id"},
// new Object[] {getSessionBean1().getLoggedInlogin()}
// );
// getuserDataProvider().setCursorRow(rowKey);
}
/**
* <p>Callback method that is called after rendering is completed for
* this request, if <code>init()</code> was called (regardless of whether
* or not this was the page that was actually rendered). Customize this
* method to release resources acquired in the <code>init()</code>,
* <code>preprocess()</code>, or <code>prerender()</code> methods (or
* acquired during execution of an event handler).</p>
*/
@Override
public void destroy() {
userDataProvider.close();
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected RequestBean1 getRequestBean1() {
return (RequestBean1) getBean("RequestBean1");
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected ApplicationBean1 getApplicationBean1() {
return (ApplicationBean1) getBean("ApplicationBean1");
}
/**
* <p>Return a reference to the scoped data bean.</p>
*
* @return reference to the scoped data bean
*/
protected SessionBean1 getSessionBean1() {
return (SessionBean1) getBean("SessionBean1");
}
public String update_action() {
// TODO: Process the action. Return value is a navigation
// case name where null will return to the same page.
String thefirstname = (String) this.firstname.getText();
String thelastname = (String) this.lastname.getText();
RowKey rowKey;
// check if new password is a valid password and equals retyped password.
String thenewpassword = (String) this.newpassword.getText();
String theretypenewpassword = (String) this.retypenewpassword.getText();
if ( theretypenewpassword == null || ! thenewpassword.equals(theretypenewpassword.trim())) {
error("New password and retyped password do not match.");
return null;
}
String thecurrentpassword = (String) this.currentpassword.getText();
rowKey = getuserDataProvider().findFirst(
new String[] {"user.login", "user.password"},
new Object[] {getSessionBean1().getLoggedInlogin(), thecurrentpassword}
);
if (rowKey == null) {
error("Could not login with current password.");
return null;
}
getuserDataProvider().setValue("user.password", rowKey, thenewpassword);
getuserDataProvider().commitChanges();
getuserDataProvider().commitChanges();
getSessionBean1().setLoggedInUserName(
getuserDataProvider().getValue("user.firstname")
+ " "
+ getuserDataProvider().getValue("user.lastname")
);
return "lists";
}
} |
Partager