com.arsdigita.ui.login
Class UserRegistrationForm

java.lang.Object
  extended bycom.arsdigita.bebop.Completable
      extended bycom.arsdigita.bebop.SimpleComponent
          extended bycom.arsdigita.bebop.FormSection
              extended bycom.arsdigita.bebop.Form
                  extended bycom.arsdigita.ui.login.UserRegistrationForm
All Implemented Interfaces:
BebopConstants, Cloneable, Component, Container, EventListener, FormInitListener, FormProcessListener, FormValidationListener, Lockable, LoginConstants

public class UserRegistrationForm
extends Form
implements LoginConstants, FormInitListener, FormValidationListener, FormProcessListener

A Bebop form that accepts login and password from the user and attempts to authenticate and then log in the user.

Version:
$Id: //core-platform/dev/src/com/arsdigita/ui/login/UserRegistrationForm.java#26 $
Author:
Roger Hsueh, Michael Bryzek, Sameer Ajmani

Field Summary
static String versionId
           
 
Fields inherited from class com.arsdigita.bebop.Form
GET, POST
 
Fields inherited from class com.arsdigita.bebop.FormSection
m_formModel, m_panel
 
Fields inherited from class com.arsdigita.bebop.SimpleComponent
m_attr
 
Fields inherited from interface com.arsdigita.ui.login.LoginConstants
ADDITIONAL_EMAIL, BIO, ERROR_BAD_ANSWER, ERROR_BAD_EMAIL, ERROR_BAD_PASSWORD, ERROR_DUPLICATE_EMAIL, ERROR_DUPLICATE_SN, ERROR_LOGIN_FAIL, ERROR_MISMATCH_PASSWORD, FIRST_NAME, FORM_ADDITIONAL_EMAIL, FORM_BIO, FORM_EMAIL, FORM_FIRST_NAME, FORM_LAST_NAME, FORM_LOGIN, FORM_PASSWORD, FORM_PASSWORD_ANSWER, FORM_PASSWORD_CONFIRMATION, FORM_PASSWORD_QUESTION, FORM_PERSISTENT_LOGIN_P, FORM_PERSISTENT_LOGIN_P_DEFAULT, FORM_SCREEN_NAME, FORM_TIMESTAMP, FORM_URL, FORM_URL_DEFAULT, LAST_NAME, MAX_NAME_LEN, PASSWORD, PASSWORD_ANSWER, PASSWORD_CONFIRMATION, PASSWORD_QUESTION, PRIMARY_EMAIL, SCREEN_NAME, SUBMIT, TIMESTAMP_LIFETIME_SECS, URL
 
Fields inherited from interface com.arsdigita.bebop.util.BebopConstants
BEBOP_BORDER, BEBOP_BOXPANEL, BEBOP_CELL, BEBOP_CHECKBOX, BEBOP_CHECKBOXGROUP, BEBOP_COLUMNPANEL, BEBOP_DATE, BEBOP_DATETIME, BEBOP_DHTMLEDITOR, BEBOP_FORMERRORS, BEBOP_FORMWIDGET, BEBOP_GRIDPANEL, BEBOP_LIST, BEBOP_MULTISELECT, BEBOP_OPTION, BEBOP_PAD, BEBOP_PADFRAME, BEBOP_PANELROW, BEBOP_PORTAL, BEBOP_PORTLET, BEBOP_RADIO, BEBOP_RADIOGROUP, BEBOP_SEG_BODY, BEBOP_SEG_HEADER, BEBOP_SEG_PANEL, BEBOP_SEGMENT, BEBOP_SELECT, BEBOP_TABLE, BEBOP_TABLEBODY, BEBOP_TABLEROW, BEBOP_TEXTAREA
 
Fields inherited from interface com.arsdigita.bebop.Component
BEBOP_XML_NS, CLASS, ID, ON_CLICK, STYLE
 
Constructor Summary
UserRegistrationForm()
           
UserRegistrationForm(boolean autoRegistrationOn)
           
UserRegistrationForm(Container panel)
           
UserRegistrationForm(Container panel, boolean autoRegistrationOn)
           
 
Method Summary
protected  boolean getPersistentLoginValue(PageState state, boolean defaultValue)
          Determines whether a persistent cookie is requested in the given form.
 void init(FormSectionEvent event)
          Initializes a FormData object already populated with values from the request.
protected  void loginUser(FormSectionEvent event)
          Logs in the user using the username, password, and "Remember this login?" request stored in the given form event.
protected  void onAccountNotFound(FormSectionEvent event, AccountNotFoundException e)
          Executed when login fails for an unrecognized user.
protected  void onBadPassword(FormSectionEvent event, javax.security.auth.login.FailedLoginException e)
           
protected  void onLoginException(FormSectionEvent event, javax.security.auth.login.LoginException e)
          Executed when login fails for an unrecognized problem.
protected  void onLoginFail(FormSectionEvent event, javax.security.auth.login.LoginException e)
          Executed when login fails with a bad password or when autoLoginOn is set to false and the user doesn't exist.
protected  void onLoginSuccess(FormSectionEvent event)
          Executed when login succeeds.
 void process(FormSectionEvent event)
          Performs a processing step on the data in the FormData object.
protected  void redirectToNewUserPage(PageState state)
           
 void validate(FormSectionEvent event)
          Performs a validation check on the specified FormData object, involving any number of parameters.
 
Methods inherited from class com.arsdigita.bebop.Form
addMagicTag, excludeParameterFromExport, generateErrors, generateXML, generateXMLSansState, getAction, getFormData, getName, getProcessInvisible, isRedirecting, process, register, respond, setAction, setEncType, setFormData, setMethod, setName, setOnReset, setOnSubmit, setProcessInvisible, setRedirecting, toString, traverse
 
Methods inherited from class com.arsdigita.bebop.FormSection
add, add, addCancelListener, addInitListener, addProcessListener, addSubmissionListener, addValidationListener, children, contains, createInitListener, createProcessListener, createSubmissionListener, createValidationListener, fireCancel, fireInit, fireProcess, fireSubmitted, fireValidate, forwardInit, forwardProcess, forwardSubmission, forwardValidation, get, getModel, getPanel, indexOf, isEmpty, lock, register, removeCancelListener, removeInitListener, removeProcessListener, removeSubmissionListener, removeValidationListener, size
 
Methods inherited from class com.arsdigita.bebop.SimpleComponent
clone, exportAttributes, getAttribute, getClassAttr, getIdAttr, getKey, getMetaDataAttribute, getStyleAttr, hasAttributes, isLocked, isVisible, setAttribute, setClassAttr, setIdAttr, setKey, setMetaDataAttribute, setStyleAttr, setVisible
 
Methods inherited from class com.arsdigita.bebop.Completable
addCompletionListener, fireCompletionEvent
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.arsdigita.bebop.Component
getClassAttr, getIdAttr, getKey, getStyleAttr, isVisible, setClassAttr, setIdAttr, setKey, setStyleAttr, setVisible
 
Methods inherited from interface com.arsdigita.util.Lockable
isLocked
 

Field Detail

versionId

public static final String versionId
See Also:
Constant Field Values
Constructor Detail

UserRegistrationForm

public UserRegistrationForm()

UserRegistrationForm

public UserRegistrationForm(Container panel)

UserRegistrationForm

public UserRegistrationForm(boolean autoRegistrationOn)

UserRegistrationForm

public UserRegistrationForm(Container panel,
                            boolean autoRegistrationOn)
Method Detail

init

public void init(FormSectionEvent event)
          throws FormProcessException
Description copied from interface: FormInitListener
Initializes a FormData object already populated with values from the request.

Specified by:
init in interface FormInitListener
Throws:
FormProcessException

validate

public void validate(FormSectionEvent event)
              throws FormProcessException
Description copied from interface: FormValidationListener
Performs a validation check on the specified FormData object, involving any number of parameters.

The check is always performed after all HTTP request parameters have been converted to data objects and stored in the FormData object.

If a validation error is encountered, the setError method of the FormData object may be used to set an error message for reporting back to the user.

This method is responsible for catching any exceptions that may occur during the validation. These exceptions may either be handled internally, or if they are unrecoverable may be rethrown as instances of FormProcessException.

Specified by:
validate in interface FormValidationListener
Throws:
FormProcessException - If the data does not pass the check.

process

public void process(FormSectionEvent event)
             throws FormProcessException
Description copied from interface: FormProcessListener
Performs a processing step on the data in the FormData object.

Implementations of this method are responsible for catching specific exceptions that may occur during processing, and either handling them internally or rethrowing them as instances of FormProcessException to be handled by the calling procedure.

Implementations of this method cannot assume success or failure of other FormProcessListeners associated with a particular FormModeel. Each implementation must act independently

Specified by:
process in interface FormProcessListener
Throws:
FormProcessException

loginUser

protected void loginUser(FormSectionEvent event)
                  throws FormProcessException
Logs in the user using the username, password, and "Remember this login?" request stored in the given form event. Subclasses can override this method or just one of the specific case handlers (onLoginSuccess, onBadPassword, onAccountNotFound, onLoginException).

Throws:
FormProcessException - if there is an unexpected login error

onLoginSuccess

protected void onLoginSuccess(FormSectionEvent event)
                       throws FormProcessException
Executed when login succeeds. Default implementation does nothing.

Throws:
FormProcessException

onBadPassword

protected void onBadPassword(FormSectionEvent event,
                             javax.security.auth.login.FailedLoginException e)
                      throws FormProcessException
Throws:
FormProcessException

onLoginFail

protected void onLoginFail(FormSectionEvent event,
                           javax.security.auth.login.LoginException e)
                    throws FormProcessException
Executed when login fails with a bad password or when autoLoginOn is set to false and the user doesn't exist. Default implementation marks password parameter with an error message.

Throws:
FormProcessException

onAccountNotFound

protected void onAccountNotFound(FormSectionEvent event,
                                 AccountNotFoundException e)
                          throws FormProcessException
Executed when login fails for an unrecognized user. Default implementation sets a flag so that the client is redirected to the new user page (see the process() method code).

Throws:
FormProcessException

onLoginException

protected void onLoginException(FormSectionEvent event,
                                javax.security.auth.login.LoginException e)
                         throws FormProcessException
Executed when login fails for an unrecognized problem. Default implementation logs the error and throws FormProcessException.

Throws:
FormProcessException

getPersistentLoginValue

protected boolean getPersistentLoginValue(PageState state,
                                          boolean defaultValue)
Determines whether a persistent cookie is requested in the given form.

Returns:
true if the specified formdata has a field named FORM_PERSISTENT_LOGIN_P whose value is equal to "1". If there is no such field in the form data, returns the specified default value.

redirectToNewUserPage

protected void redirectToNewUserPage(PageState state)


Copyright (c) 2004 Red Hat, Inc. Corporation. All Rights Reserved. Generated at July 21 2004:2337 UTC