com.ibm.commerce.usermanagement.commands

Class UserRegistrationAdminUpdateCmdImpl

  • All Implemented Interfaces:
    AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, Protectable, UserRegistrationAdminCmd, UserRegistrationAdminUpdateCmd, UserRegistrationCmd, com.ibm.websphere.cache.Sizeable, com.ibm.websphere.command.CacheableCommand, com.ibm.websphere.command.Command, com.ibm.websphere.command.CommandCaller, com.ibm.websphere.command.TargetableCommand, java.io.Serializable


    public class UserRegistrationAdminUpdateCmdImpl
    extends UserRegistrationAdminCmdImpl
    implements UserRegistrationAdminUpdateCmd
    This command allows an administrator to update information for a user.

    To run this command, the administrator must login first. Unlike UserRegistrationUpate command, this command need to specify the userId to indicate which user the administrator will update. If the userId is not specified, this command will act as UserRegistrationAdminAdd to add a new registered user.

    This command can not change profileType and parent member of user. The information of the user is stored in the MEMBER, USERS, USERREG, MBRREL, USERPROF, BUSPROF, USERDEMO and ADDRESS tables.

    Use this command with SSL (Secure Sockets Layer) to ensure that the information are encrypted. To do so type the command with the HTTPS secure protocol.

    The parameter URL, userId are mandatory. IF logonPassword is specified, logonPasswordVerify is mandatory. The rest of the parameters are all optional.

    Behavior

    • Calls an empty task command PreUserRegistrationAdminUpdateCmd. Store Developers can overwrite it change the input to the command.
    • Updates the record of the user in USERS table.
    • If authentication mode is 'LDAP', user information may also be updated in LDAP Server.
    • If authentication mode is 'LDAP', logonId can not be changed.
    • If any field related to USERPROF, BUSPROF and USERDEMO is specified, updates each of these table. If there is no record, a new record will be created in these tables.
    • If any field related to ADDRESS table is specified, the self address (also called register address, with selfAddress field set to '1' and nickname is same as logonId) will also be updated. The old address will be marked as 'T' (temporary) and a new record will be created in the ADDRESS table.
      If this user does not have self address, a new self address will be created.
    • The parent member of the user can not be changed.
    • The profile type of the user can not be changed.
    • If logonPassword has been changed, calls a task command AuthenticationPolicyCmd to performs verification or update of a user credentials.
    • Check the required registration information parameters.
    • Calls a task command AuditUserRegistrationCmd to check the additional parameters. Store Developers need to add new code to the task command if they want to customizable check.
    • If the authentication mode is 'LDAP', the corresponding user entry in the LDAP server may also be updated.
    • If the command fails, the UserRegistrationErrorView view command is called. Upon successful completion, the specified URL is called.
    • Calls an empty task command PostUserRegistrationAdminUpdateCmd. Store Developers can overwrite it to perform additional operations.

    Exception Conditions

    • logonId is not null but the its length equals 0(_ERR_CMD_INVALID_PARAM).
    • logonPassword is not null but the its length equals 0 or greater than 70 (_ERR_CMD_INVALID_PARAM).
    • If logonPassword is not null but logonPasswordVerify is null (_ERR_CMD_MISSING_PARAM).
    • If logonPassword is not null but is not equal to logonPasswordVerify (EC_UREG_ERR_PASSWORDS_NOT_SAME).
    • URL is null (_ERR_CMD_MISSING_PARAM).
    • The length of URL length equals 0 (_ERR_CMD_INVALID_PARAM).
    • logonId is null (_ERR_CMD_MISSING_PARAM).
    • The length of logonId equals 0 (_ERR_CMD_INVALID_PARAM).
    • logonId already exists in database (EC_UREG_ERR_LOGONID_EXISTS).
    • In LDAP mode, logonId is not null(_ERR_CMD_INVALID_PARAM).
    • In LDAP Mode, the formulated Distinguished Name already exist in LDAP Sever or WCS Database (_ERR_RDN_ALREADY_EXIST).
    • logonPassword is not null but the its length equals 0 or greater than 70 (_ERR_CMD_INVALID_PARAM).
    • If logonPassword is not null but logonPasswordVerify is null (_ERR_CMD_MISSING_PARAM).
    • If logonPassword is not null but is not equal to logonPasswordVerify (EC_UREG_ERR_PASSWORDS_NOT_SAME).
    • status is not null and does not equals to '1' or '0'(_ERR_CMD_INVALID_PARAM).
    • passwordExpired is not null and does not equals to '1' or '0' (_ERR_CMD_INVALID_PARAM).
    • passwordRetries is not null and is not an integer (_ERR_CMD_INVALID_PARAM).
    • policyAccountId is not null and is not a foreign key set to the PLCYACCT table (_ERR_CMD_INVALID_PARAM).
    • preferredCurrency is not null and not a foreign key set to the SETCCURR table (_ERR_CMD_INVALID_PARAM).
    • preferredLanguage is not null and not a foreign key set to the LANGUAGE table (_ERR_CMD_INVALID_PARAM).
    • age, income, children, household, demographicField6, publishPhone1, publishPhone2, and packageSupression is not null and not an integer (_ERR_CMD_INVALID_PARAM).
    See Also:
    Serialized Form