com.ibm.commerce.usermanagement.commands

Class UserRegistrationUpdateCmdImpl

  • All Implemented Interfaces:
    AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, Protectable, UserRegistrationCmd, UserRegistrationUpdateCmd, 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 UserRegistrationUpdateCmdImpl
    extends UserRegistrationCmdImpl
    implements UserRegistrationUpdateCmd
    The UserRegistrationUpdate command updates the registration record for a registered user.

    To run this command, the user must logs on as registered user first. If the current user is a guest user, this command will call the UserRegistrationAdd command to register a new user.

    The information of the new 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.

    Behavior

    • Calls an empty task command preUserRegistrationUpdateCmd. Store Developers can overwrite it change the input to the command.
    • Updates the record of the current registered 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 a 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 postUserRegistrationUpdateCmd. Store Developers can overwrite it to perform additional operations.

    Exception Conditions

    • URL is null (_ERR_CMD_MISSING_PARAM).
    • The length of URL length equals 0 (_ERR_CMD_INVALID_PARAM).
    • logonId is not null but the its length equals 0(_ERR_CMD_INVALID_PARAM).
    • In LDAP mode, logonId is not null(_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).
    • 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