atg.userprofiling
Class MultiProfileUpdateFormHandler

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.droplet.EmptyFormHandler
              extended by atg.droplet.GenericFormHandler
                  extended by atg.repository.servlet.RepositoryFormHandler
                      extended by atg.userprofiling.MultiProfileForm
                          extended by atg.userprofiling.MultiProfileUpdateFormHandler
All Implemented Interfaces:
DropletFormHandler, NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, RepositoryFormConstants, RepositoryFormData, java.util.EventListener
Direct Known Subclasses:
MultiUserUpdateFormHandler

public class MultiProfileUpdateFormHandler
extends MultiProfileForm

This is a form handler for updating one or more user profiles with a single request.

This bean has a repositorIds property which is a list of strings representing the unique id given to each user profile item being updated. The list must be set at the time the submit is issued to either update the common property values stored in the value property or delete the supplied list of profiles.

The value property is a dictionary of properties of the current user profile. This set of properties is used when the form handler is being used for update purposes. For update submit requests these properties are applied to every user profile in the repositorIds list. For delete submit requests, the list of profiles referenced by the repositoryIds list will be deleted from the profile repository. For example, for updates and deletes, you would loop through a given set of user profiles and do something like this for each one:  

Each checkbox selected would then be placed into your repositoryIds list prior to the submit.

For Update requests, say you want to update the "userType" property of a user profile for each of the selected users - you would set the "FormHanlder.value.userType" bean property before the submit request.

This form handler supports the following submit methods:

update
updates the repository item specified via the repositoryId property, using the property values currently in the value dictionary; the update is committed in the repository
delete
deletes the repository item specified via the repositoryId property from the repository
cancel the supplied form information by clearing out the value dictionary and reinitializing the per-user users array.

The following properties of the MultiProfileAddFormHandler will typically be set in a properties file for this component:

repository
Specifies the repository to operate on - obtained via ProfileTools.
maxCount
Specifies the maximum value allowed for setting count to. Default is 0 which indicates that there is no maximum applied.
minCount
Specifies the minimum value allowed for setting count to. The default is 1.
generatePassword
Specifies whether the form handler should generate a password by setting the password to the current value of the defaultPassword property. Default is false.
defaultPassword
Specifies the string value of what the desired password default should be.

See Also:
MultiProfileForm, RepositoryFormHandler, MultiProfileAddFormHandler

Field Summary
static java.lang.String CLASS_VERSION
          Class version string
static java.lang.String OLDPASSWORD_PARAM
          Name of the old password form parameter
 
Fields inherited from class atg.userprofiling.MultiProfileForm
CONFIRMPASSWORD_PARAM
 
Fields inherited from class atg.repository.servlet.RepositoryFormHandler
STATUS_ERROR_REDIRECT, STATUS_ERROR_STAY, STATUS_SUCCESS
 
Fields inherited from class atg.droplet.GenericFormHandler
PARAM_DEFER_FORWARD_OR_REDIRECT, PARAM_USE_FORWARDS
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.repository.servlet.RepositoryFormConstants
NULL_SENTINEL, REPOSITORY_ID_PROPERTY_NAME, UPDATE_APPEND, UPDATE_PREPEND, UPDATE_REMOVE, UPDATE_REPLACE
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
MultiProfileUpdateFormHandler()
           
 
Method Summary
 void addProfileUpdateListener(atg.userprofiling.ProfileUpdateListener pListener)
          Adds a listener to the list of "profile update" listeners.
 boolean getClearValuesOnDelete()
           
 boolean getClearValuesOnUpdate()
           
 atg.userprofiling.ProfileUpdateEvent getProfileUpdateEvent()
          Returns the value of the property ProfileUpdateEvent.
 atg.userprofiling.ProfileUpdateTrigger getProfileUpdateTrigger()
          Returns the ProfileUpdateTrigger property
 java.lang.String[] getRepositoryIds()
          Returns the list of repository id's being updated
 boolean handleCancel(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Clears out the form data found in value that hasn't been submitted yet.
 boolean handleClear(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Clears out the form data found in value that hasn't been submitted yet.
 boolean handleDelete(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Takes the current list of ids in the repositoryIds and for each one, deletes the existing repository item
 boolean handleUpdate(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Takes the current list of ids in the repositoryIds and for each one, updates the set of property values found in the value property and, if there were no errors in submitting the form, updates the existing repository item, sets these property values.
 boolean isGenerateProfileUpdateEvents()
          Get property GenerateProfileUpdateEvents
protected  void postCancel(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just after the cancel process is finished.
protected  void postClear(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just after the clear process is finished.
protected  void postDelete(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just after the removal process is finished.
protected  void postDeleteUser(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just after a user is deleted.
protected  void postUpdate(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just after the update process is finished.
protected  void postUpdateUser(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Operation called just after the user's profile is updated
protected  void preCancel(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just before the cancel process is started.
protected  void preClear(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just before the clear process is started.
protected  void preDelete(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just before the removal process is started.
protected  void preDeleteUser(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just before a user is deleted.
protected  void preUpdate(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method is called just before the update process is started.
protected  void preUpdateUser(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Operation called just before the user's profile is updated which will do the following: Create a new ProfileUpdateEvent object stored in mProfileUpdateEvent property Collect the old values from the current repository before update occurs Collect the new values from the form submitted Go through each property and if value changed, save old/new values for use in ProfileUpdateEvent
 void removeProfileUpdateListener(atg.userprofiling.ProfileUpdateListener pListener)
          Removes a listener from the list of "profile update" listeners.
 void sendProfileUpdateEvent(atg.userprofiling.ProfileUpdateEvent pEvent)
          Sends a Profile Update event to each of the current listeners passing the pEvent.
 void setClearValuesOnDelete(boolean pClearValuesOnDelete)
          Sets the property clearValuesOnDelete.
 void setClearValuesOnUpdate(boolean pClearValuesOnUpdate)
          Sets the property clearValuesOnUpdate.
 void setGenerateProfileUpdateEvents(boolean pGenerateProfileUpdateEvents)
          Set property GenerateProfileUpdateEvents
 void setProfileUpdateEvent(atg.userprofiling.ProfileUpdateEvent pProfileUpdateEvent)
          Sets the property ProfileUpdateEvent.
 void setProfileUpdateTrigger(atg.userprofiling.ProfileUpdateTrigger pProfileUpdateTrigger)
          Set the ProfileUpdateTrigger property
 void setRepositoryIds(java.lang.String[] pRepositoryIds)
          Sets the list of repository id's being updated
protected  void updateUser(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Updates the current user.
 
Methods inherited from class atg.userprofiling.MultiProfileForm
afterSet, beforeSet, confirmPasswordValue, formatUserMessage, formatUserMessage, formatUserMessage, formatUserMessage, getProfile, getProfileTools, getTransactionManager, getUserLocale, getValueProperty, isConfirmOldPassword, isConfirmPassword, setConfirmOldPassword, setConfirmPassword, setProfile, setProfileTools, setTransactionManager, updatePasswordValue
 
Methods inherited from class atg.repository.servlet.RepositoryFormHandler
checkFormError, checkFormSuccess, checkForRequiredProperties, deleteItem, getCheckForReadOnlyProperties, getCheckForRequiredProperties, getContentItemDescriptor, getContentNameProperty, getContentPathProperty, getCreateErrorURL, getCreateSuccessURL, getDeleteErrorURL, getDeleteSuccessURL, getEditMapsAsLists, getErrorHandler, getExtractDefaultValuesFromItem, getFolderIdProperty, getItemDescriptor, getItemDescriptorName, getItemProperty, getLogger, getMapKeyValueSeparator, getRemoveReferencesToDeletedItems, getRepository, getRepositoryId, getRepositoryItem, getRepositoryItemEditor, getRepositoryPathName, getRequireIdOnCreate, getSpecifiedIdPropertyValue, getTransactionDemarcation, getTrimProperties, getUpdateErrorURL, getUpdateSuccessURL, getValue, getValueProperty, handleCreate, isClearValueOnSet, isCreateTransientItems, isRequireMapKeys, isSortRepositoryItemSets, isTrimProperty, isUpdateItemsInCollection, postCreateItem, postDeleteItem, postUpdateItem, postUpdateItemProperties, preCreateItem, preDeleteItem, preUpdateItem, setCheckForReadOnlyProperties, setCheckForRequiredProperties, setClearValueOnSet, setContentNameProperty, setContentPathProperty, setCreateErrorURL, setCreateSuccessURL, setCreateTransientItems, setDeleteErrorURL, setDeleteSuccessURL, setEditMapsAsLists, setExtractDefaultValuesFromItem, setFolderIdProperty, setItemDescriptorName, setMapKeyValueSeparator, setRemoveReferencesToDeletedItems, setRepository, setRepositoryId, setRepositoryItemEditor, setRepositoryPathName, setRequireIdOnCreate, setRequireMapKeys, setSortRepositoryItemSets, setTrimProperties, setUpdateErrorURL, setUpdateItemsInCollection, setUpdateSuccessURL, setValueProperty, testPropertyAttribute, updateChildItemProperty, updateContentItemValues, updateItem, updateItemProperties, updateListProperty, updateMapProperty
 
Methods inherited from class atg.droplet.GenericFormHandler
addFormException, addUncheckedFormException, checkFormRedirect, createFormSubmissionMessage, getCancelURL, getCheckForValidSession, getFormError, getFormExceptions, getFormName, getMessagePort, getMessageSource, getMessageType, getPropertyExceptions, getSendMessages, getUncheckedFormExceptions, handleFormException, handleUncheckedFormException, hasUncheckedFormExceptions, isDeferForwardsAndRedirects, isRestorableForm, isUseForwards, isValidSession, redirectOrForward, resetFormExceptions, setCancelURL, setCheckForValidSession, setDeferForwardsAndRedirects, setFormName, setMessagePort, setMessageSource, setMessageType, setRestorableForm, setSendMessages, setUseForwards
 
Methods inherited from class atg.droplet.EmptyFormHandler
afterGet, beforeGet
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string


OLDPASSWORD_PARAM

public static final java.lang.String OLDPASSWORD_PARAM
Name of the old password form parameter

See Also:
Constant Field Values
Constructor Detail

MultiProfileUpdateFormHandler

public MultiProfileUpdateFormHandler()
Method Detail

getRepositoryIds

public java.lang.String[] getRepositoryIds()
Returns the list of repository id's being updated


setRepositoryIds

public void setRepositoryIds(java.lang.String[] pRepositoryIds)
Sets the list of repository id's being updated


setProfileUpdateEvent

public void setProfileUpdateEvent(atg.userprofiling.ProfileUpdateEvent pProfileUpdateEvent)
Sets the property ProfileUpdateEvent.


getProfileUpdateEvent

public atg.userprofiling.ProfileUpdateEvent getProfileUpdateEvent()
Returns the value of the property ProfileUpdateEvent.


getProfileUpdateTrigger

public atg.userprofiling.ProfileUpdateTrigger getProfileUpdateTrigger()
Returns the ProfileUpdateTrigger property


setProfileUpdateTrigger

public void setProfileUpdateTrigger(atg.userprofiling.ProfileUpdateTrigger pProfileUpdateTrigger)
Set the ProfileUpdateTrigger property


setGenerateProfileUpdateEvents

public void setGenerateProfileUpdateEvents(boolean pGenerateProfileUpdateEvents)
Set property GenerateProfileUpdateEvents

Parameters:
pGenerateProfileUpdateEvents - new value to set

isGenerateProfileUpdateEvents

public boolean isGenerateProfileUpdateEvents()
Get property GenerateProfileUpdateEvents

Returns:
GenerateProfileUpdateEvents

setClearValuesOnUpdate

public void setClearValuesOnUpdate(boolean pClearValuesOnUpdate)
Sets the property clearValuesOnUpdate. This is useful using session scoped form handlers to control whether the form data is to be cleared after the update submit request is complete.


getClearValuesOnUpdate

public boolean getClearValuesOnUpdate()
Returns:
The value of the clearValuesOnUpdate property.

setClearValuesOnDelete

public void setClearValuesOnDelete(boolean pClearValuesOnDelete)
Sets the property clearValuesOnDelete. This is useful using session scoped form handlers to control whether the form data is to be cleared after the delete submit request is complete.


getClearValuesOnDelete

public boolean getClearValuesOnDelete()
Returns:
The value of the clearValuesOnDelete property.

preUpdateUser

protected void preUpdateUser(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse)
                      throws javax.servlet.ServletException,
                             java.io.IOException
Operation called just before the user's profile is updated which will do the following: Create a new ProfileUpdateEvent object stored in mProfileUpdateEvent property Collect the old values from the current repository before update occurs Collect the new values from the form submitted Go through each property and if value changed, save old/new values for use in ProfileUpdateEvent

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

updateUser

protected void updateUser(DynamoHttpServletRequest pRequest,
                          DynamoHttpServletResponse pResponse)
                   throws javax.servlet.ServletException,
                          java.io.IOException
Updates the current user. This is done by calling preUpdateItem, updateItem, and postUpdateItem of RepositoryFormHandler on the current user item (specified by previously setting the repositoryId attribute).

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

postUpdateUser

protected void postUpdateUser(DynamoHttpServletRequest pRequest,
                              DynamoHttpServletResponse pResponse)
                       throws javax.servlet.ServletException,
                              java.io.IOException
Operation called just after the user's profile is updated

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

sendProfileUpdateEvent

public void sendProfileUpdateEvent(atg.userprofiling.ProfileUpdateEvent pEvent)
Sends a Profile Update event to each of the current listeners passing the pEvent.

Parameters:
pEvent - the ProfileUpdateEvent object containing the list of profile updates

preUpdate

protected void preUpdate(DynamoHttpServletRequest pRequest,
                         DynamoHttpServletResponse pResponse)
                  throws javax.servlet.ServletException,
                         java.io.IOException
This method is called just before the update process is started.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

postUpdate

protected void postUpdate(DynamoHttpServletRequest pRequest,
                          DynamoHttpServletResponse pResponse)
                   throws javax.servlet.ServletException,
                          java.io.IOException
This method is called just after the update process is finished.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

preDelete

protected void preDelete(DynamoHttpServletRequest pRequest,
                         DynamoHttpServletResponse pResponse)
                  throws javax.servlet.ServletException,
                         java.io.IOException
This method is called just before the removal process is started.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

postDelete

protected void postDelete(DynamoHttpServletRequest pRequest,
                          DynamoHttpServletResponse pResponse)
                   throws javax.servlet.ServletException,
                          java.io.IOException
This method is called just after the removal process is finished.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

preDeleteUser

protected void preDeleteUser(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse)
                      throws javax.servlet.ServletException,
                             java.io.IOException
This method is called just before a user is deleted.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

postDeleteUser

protected void postDeleteUser(DynamoHttpServletRequest pRequest,
                              DynamoHttpServletResponse pResponse)
                       throws javax.servlet.ServletException,
                              java.io.IOException
This method is called just after a user is deleted.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

preCancel

protected void preCancel(DynamoHttpServletRequest pRequest,
                         DynamoHttpServletResponse pResponse)
                  throws javax.servlet.ServletException,
                         java.io.IOException
This method is called just before the cancel process is started.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

postCancel

protected void postCancel(DynamoHttpServletRequest pRequest,
                          DynamoHttpServletResponse pResponse)
                   throws javax.servlet.ServletException,
                          java.io.IOException
This method is called just after the cancel process is finished.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

preClear

protected void preClear(DynamoHttpServletRequest pRequest,
                        DynamoHttpServletResponse pResponse)
                 throws javax.servlet.ServletException,
                        java.io.IOException
This method is called just before the clear process is started.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

postClear

protected void postClear(DynamoHttpServletRequest pRequest,
                         DynamoHttpServletResponse pResponse)
                  throws javax.servlet.ServletException,
                         java.io.IOException
This method is called just after the clear process is finished.

Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

handleUpdate

public boolean handleUpdate(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse)
                     throws javax.servlet.ServletException,
                            java.io.IOException
Takes the current list of ids in the repositoryIds and for each one, updates the set of property values found in the value property and, if there were no errors in submitting the form, updates the existing repository item, sets these property values.

Prior to updating the list of users, preUpdate is called and following the update of the list of users, postUpdate is called.

Prior to updating an individual user, preUpdateUser is called and following the update of each user, postUpdateUser is called.

If any errors occur in the process, form errors will be added. If there were no errors encountered while submitting the form, we optionally redirect to the value of the property updateSuccessURL. Otherwise, we optionally redirect to updateErrorURL.

Overrides:
handleUpdate in class RepositoryFormHandler
Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

handleDelete

public boolean handleDelete(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse)
                     throws javax.servlet.ServletException,
                            java.io.IOException
Takes the current list of ids in the repositoryIds and for each one, deletes the existing repository item

Prior to deleting the list of users, preDelete is called and following the delete of the list of users, postDelete is called.

Prior to deleting an individual user, preDeleteUser is called and following the delete of each user, postDeleteUser is called.

If any errors occur in the process, form errors will be added. If there were no errors encountered while submitting the form, we optionally redirect to the value of the property deleteSuccessURL. Otherwise, we optionally redirect to deleteErrorURL.

Overrides:
handleDelete in class RepositoryFormHandler
Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if there was an error while executing the code
java.io.IOException - if there was an error with servlet io

handleCancel

public boolean handleCancel(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse)
                     throws javax.servlet.ServletException,
                            java.io.IOException
Clears out the form data found in value that hasn't been submitted yet. If there is anything in the list of repositoryIds, that is also cleared.

Prior to canceling the form, preCancel is called and following the cancel, postCancel is called.

Overrides:
handleCancel in class GenericFormHandler
Throws:
javax.servlet.ServletException
java.io.IOException

handleClear

public boolean handleClear(DynamoHttpServletRequest pRequest,
                           DynamoHttpServletResponse pResponse)
                    throws javax.servlet.ServletException,
                           java.io.IOException
Clears out the form data found in value that hasn't been submitted yet. If there is anything in the list of repositoryIds, that is also cleared. This is identical to the Cancel submit method - to be used in beginning of form to clear out the leftover data in session scoped form handler objects.

Prior to clearing the form, preClear is called and following the cancel, postClear is called.

Overrides:
handleClear in class MultiProfileForm
Throws:
javax.servlet.ServletException
java.io.IOException

addProfileUpdateListener

public void addProfileUpdateListener(atg.userprofiling.ProfileUpdateListener pListener)
Adds a listener to the list of "profile update" listeners.


removeProfileUpdateListener

public void removeProfileUpdateListener(atg.userprofiling.ProfileUpdateListener pListener)
Removes a listener from the list of "profile update" listeners.