atg.userprofiling
Class MultiUserUpdateFormHandler

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
                              extended by atg.userprofiling.MultiUserUpdateFormHandler
All Implemented Interfaces:
DropletFormHandler, NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, RepositoryFormConstants, RepositoryFormData, java.util.EventListener

public class MultiUserUpdateFormHandler
extends MultiProfileUpdateFormHandler

This is an extension of MultiProfileUpdateFormHandler that handles the updating of UserDirectory profile properties. Specifically, it overrides updateUser and updates the users roles and organizations using the values for the roleIds and organizationId properties. This is done directly using the UserDirectory API and not the repository API, since there are differing cache mechanisms in each instance.


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
static java.lang.String ROLE_UPDATE_APPEND
           
static java.lang.String ROLE_UPDATE_REMOVE
           
static java.lang.String ROLE_UPDATE_REPLACE
           
 
Fields inherited from class atg.userprofiling.MultiProfileUpdateFormHandler
OLDPASSWORD_PARAM
 
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
MultiUserUpdateFormHandler()
           
 
Method Summary
 java.lang.String getOrganizationId()
          Gets the organizationId property
 java.lang.String[] getRoleIds()
          Gets the roleIds property
 java.lang.String getRoleUpdateMethod()
          Gets the roleUpdateMethod property
 UserDirectoryTools getUserDirectoryTools()
          Gets the userDirectoryTools property
 boolean handleClear(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Clears the roleIds, organizationId properties and roleUpdateMethod
protected  void preDeleteUser(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Removes the user from his/her organization in addition to deleting them
 void setOrganizationId(java.lang.String pOrganizationId)
          Sets the organizationId property
 void setRoleIds(java.lang.String[] pRoleIds)
          Sets the roleIds property
 void setRoleUpdateMethod(java.lang.String pRoleUpdateMethod)
          Sets the roleUpdateMethod property
 void setUserDirectoryTools(UserDirectoryTools pUserDirectoryTools)
          Sets the userDirectoryTools property
protected  void updateUser(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Overrides updateUser to assign a user roles and/or add a user to an organization based on the values of the roleIds and organizationId properties
 
Methods inherited from class atg.userprofiling.MultiProfileUpdateFormHandler
addProfileUpdateListener, getClearValuesOnDelete, getClearValuesOnUpdate, getProfileUpdateEvent, getProfileUpdateTrigger, getRepositoryIds, handleCancel, handleDelete, handleUpdate, isGenerateProfileUpdateEvents, postCancel, postClear, postDelete, postDeleteUser, postUpdate, postUpdateUser, preCancel, preClear, preDelete, preUpdate, preUpdateUser, removeProfileUpdateListener, sendProfileUpdateEvent, setClearValuesOnDelete, setClearValuesOnUpdate, setGenerateProfileUpdateEvents, setProfileUpdateEvent, setProfileUpdateTrigger, setRepositoryIds
 
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, 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, 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, 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


ROLE_UPDATE_REPLACE

public static final java.lang.String ROLE_UPDATE_REPLACE
See Also:
Constant Field Values

ROLE_UPDATE_REMOVE

public static final java.lang.String ROLE_UPDATE_REMOVE
See Also:
Constant Field Values

ROLE_UPDATE_APPEND

public static final java.lang.String ROLE_UPDATE_APPEND
See Also:
Constant Field Values
Constructor Detail

MultiUserUpdateFormHandler

public MultiUserUpdateFormHandler()
Method Detail

setRoleIds

public void setRoleIds(java.lang.String[] pRoleIds)
Sets the roleIds property

Parameters:
pRoleIds - the ids of the roles to assign each user

getRoleIds

public java.lang.String[] getRoleIds()
Gets the roleIds property

Returns:
the ids of the roles to assign each user

setOrganizationId

public void setOrganizationId(java.lang.String pOrganizationId)
Sets the organizationId property

Parameters:
pOrganizationId - the id of the organization to add the user to

getOrganizationId

public java.lang.String getOrganizationId()
Gets the organizationId property

Returns:
the id of the organization to add the user to

setRoleUpdateMethod

public void setRoleUpdateMethod(java.lang.String pRoleUpdateMethod)
Sets the roleUpdateMethod property

Parameters:
pRoleUpdateMethod - the method used to update the roles for each user. Possible values include:
  • append - adds the roles specified by roleIds to the user's existing roles
  • remove - removes the roles specified by roleIds from the user's existing roles
  • replace - removes all existing roles for the user and adds the roles specified by the roleIds property to the user

getRoleUpdateMethod

public java.lang.String getRoleUpdateMethod()
Gets the roleUpdateMethod property

Returns:
the method used to update the roles for each user. Possible values include:
  • append - adds the roles specified by roleIds to the user's existing roles
  • remove - removes the roles specified by roleIds from the user's existing roles
  • replace - removes all existing roles for the user and adds the roles specified by the roleIds property to the user

setUserDirectoryTools

public void setUserDirectoryTools(UserDirectoryTools pUserDirectoryTools)
Sets the userDirectoryTools property

Parameters:
pUserDirectoryTools - a collection of tools that work on userdirectory items

getUserDirectoryTools

public UserDirectoryTools getUserDirectoryTools()
Gets the userDirectoryTools property

Returns:
a collection of tools that work on userdirectory items

updateUser

protected void updateUser(DynamoHttpServletRequest pRequest,
                          DynamoHttpServletResponse pResponse)
                   throws javax.servlet.ServletException,
                          java.io.IOException
Overrides updateUser to assign a user roles and/or add a user to an organization based on the values of the roleIds and organizationId properties

Overrides:
updateUser in class MultiProfileUpdateFormHandler
Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if a servlet error occurs
java.io.IOException - if a servlet IO problem occurs

preDeleteUser

protected void preDeleteUser(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse)
                      throws javax.servlet.ServletException,
                             java.io.IOException
Removes the user from his/her organization in addition to deleting them

Overrides:
preDeleteUser in class MultiProfileUpdateFormHandler
Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if a servlet error occurs
java.io.IOException - if an io problem occurs

handleClear

public boolean handleClear(DynamoHttpServletRequest pRequest,
                           DynamoHttpServletResponse pResponse)
                    throws javax.servlet.ServletException,
                           java.io.IOException
Clears the roleIds, organizationId properties and roleUpdateMethod

Overrides:
handleClear in class MultiProfileUpdateFormHandler
Parameters:
pRequest - the servlet's request
pResponse - the servlet's response
Throws:
javax.servlet.ServletException - if a servlet error occurs
java.io.IOException - if a servlet io exception occurs