com.ibm.commerce.usermanagement.commands

Class UserRegistrationAddCmdImpl

  • All Implemented Interfaces:
    AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, Protectable, UserRegistrationAddCmd, 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
    Direct Known Subclasses:
    UserRegistrationAddPreApprovalCmdImpl, UserRegistrationAddWithApprovalCheckCmdImpl


    public class UserRegistrationAddCmdImpl
    extends UserRegistrationCmdImpl
    implements UserRegistrationAddCmd
    The UserRegistrationAdd command creates a registration record for the user.

    When user registration approvals are being used, UserRegisrationAddPreApprovalCmd should be used instead. Use this command with SSL (Secure Sockets Layer) to ensure that the customer's logon password and personal information are encrypted. To do so type the command with the HTTPS secure protocol.

    The parameter URL, logonId, logonPassword and logonPasswordVerify are mandatory. The rest of the parameters are all optional.
    If the Authentication Mode is LDAP, the parameter lastName is also mandatory.
    Behavior

    • Update USERS table and change the Registration Type from G (guest) to R (registered)
    • Create a record in USERREG, USERPROF, USERDEMO and ADDRESS table.
      If this user is a business user (profileType = 'B'), a record will also be created in BUSPROF table.
      If this user does not have an address book, a record will also be created in ADDRBOOK table.
    • Created an address called register address, whose nickname is the same as the logonId specified. The selfAddress field of this address will be set to '1'.
    • If the profileType parameter is not specified, set 'C' (Customer) by default.
    • If passwordExpired parameter is not specified, by default it is set to 0 (not expired).
    • If status parameter is not specified, by default it is set to 1 (enabled).
    • If the preferredLanguage is not set, get it from the command context.
    • Check the required registration information parameters.
    • Calls the AuditUserRegistrationCmd task to check the additional parameters. Customers need to add new code to AuditAddressCmd task command if they want to customizable check.
    • If preferredCurrency parameter is not null, call SetCurrencyPrefCmd tasks.
    • If the Authentication Mode is LDAP, then call the DBToDirectoryCmd To create a user on the LDAP server. Log the shopper on by creating a digitally signed cookie which is sent back to the browser for identifying the user's session. The shopper is now in an authenticated session. The cookie contains the following information:
      • The SESSION_ID
      • A flag that indicates whether or not the shopper is registered m
      • The date and time (timestamp) that the shopper registered m
      • A digital signature
    • If the logon fails, call UserRegistrationErrorView.
    • On successful completion, call the specified redirection URL.
    Exception Conditions
    • The parameter URL cannot be null and it must have a length greater than 0.
    • The parameter logonId can not be null and it must have a length greater than 0.
    • The parameter logonId cannot already exist in WCS database. If the Authentication Mode is LDAP, the logonId should not also exist on LDAP.
    • The parameter logonPassword cannot be null and it must have a length greater than 0 and less than or equal to 70.
    • The parameter logonPassword is equal to logonPasswordVerify.
    • The parameter profileType must be null or it must be equal to 'B' or 'C'.
    • The parameters userStatus and the passwordExpired must be null or it must be equal to 0 or 1.
    • The parameter preferredCurrency must be null or it must be a foreign key set to the SETCCURR table.
    • The parameter preferredLanguage must be null or it must be a foreign key set to the LANGUAGE table.
    • The parameters age, income, children, household, demographicField6, publishPhone1, publishPhone2, and packageSupression must be null or they must be an integer.
    • If the profileType parameter is 'B' then the following conditions must be true.
      If the organizationId parameter is not null, then it must be a foreign key set to rows whose type is O in the ORGENTITY table.
      If the organizationUnitId parameter is not null, then the organizationUnitId must be a foreign key reference to rows whose type is OU in the ORGENTITY table.
    See Also:
    Serialized Form