com.ibm.commerce.usermanagement.commands
Class UserRegistrationUpdateCmdImpl
java.lang.Object
CacheableCommandImpl
com.ibm.commerce.command.AbstractECTargetableCommand
com.ibm.commerce.command.ControllerCommandImpl
com.ibm.commerce.usermanagement.commands.UserRegistrationCmdImpl
com.ibm.commerce.usermanagement.commands.UserRegistrationUpdateCmdImpl
- All Implemented Interfaces:
- AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, Protectable, UserRegistrationCmd, UserRegistrationUpdateCmd
- 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 UserRegistrationAdd command to regiseter 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 regisetered 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 customerizable 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
Field Summary |
static java.lang.String |
CLASSNAME
The name of this implementation of the command. |
static java.lang.String |
COPYRIGHT
IBM Copyright notice field. |
Fields inherited from class com.ibm.commerce.usermanagement.commands.UserRegistrationCmdImpl |
abUser, abUserRegistry, bToolsFramework, iabParentOrgEntity, imbUser, inAge, inChildren, inDemographicsField6, inHousehold, inIncome, inOrganizationId, inOrganizationUnitId, inPackageSuppression, inPasswordExpired, inPreferredLanguage, inPrimary, inPublishPhone1, inPublishPhone2, inUserStatus, istrAddress1, istrAddress2, istrAddress3, istrAddressField1, istrAddressField2, istrAddressField3, istrAddressType, istrAge, istrAlternateId, istrAuthenticateMode, istrBestCallingTime, istrBillingCode, istrBillingCodeType, istrBusinessTitle, istrChallengeAnswer, istrChallengeQuestion, istrChildren, istrCity, istrCompanyName, istrCountry, istrDemographicsField1, istrDemographicsField2, istrDemographicsField3, istrDemographicsField4, istrDemographicsField5, istrDemographicsField6, istrDemographicsField7, istrDepartmentNumber, istrDescription, istrDisplayName, istrDistinguishedName, istrEmail1, istrEmail2, istrEmployeeId, istrEmployeeType, istrEncipheredMerchantKey, istrFax1, istrFax2, istrFirstName, istrGender, istrHobbies, istrHousehold, istrIncome, istrIncomeCurrency, istrLastName, istrLogonId, istrLogonPassword, istrLogonPasswordVerify, istrManager, istrMaritalStatus, istrMerchantKey, istrMiddleName, istrNickName, istrOfficeAddress, istrOldLogonId, istrOrderBefore, istrOrganizationId, istrOrganizationName, istrOrganizationUnitId, istrOrganizationUnitName, istrPackageSuppression, istrPasswordExpired, istrPersonTitle, istrPhone1, istrPhone1Type, istrPhone2, istrPhone2Type, istrPhoto, istrPreferredCommunication, istrPreferredCurrency, istrPreferredDelivery, istrPreferredLanguage, istrPreferredMeasure, istrPrimary, istrProfileType, istrPublishPhone1, istrPublishPhone2, istrReceiveEmail, istrRegisterType, istrSecretary, istrSelfAddress, istrShippingGeoCode, istrState, istrStatus, istrTaxGeoCode, istrTaxPayerId, istrTimeZone, istrURL, istrUserField1, istrUserField2, istrUserField3, istrUserProfileField1, istrUserProfileField2, istrUserStatus, istrWorkingUserId, istrZipCode, itmCreatedTimestamp, itmLastLogon, itmLastOrder, itmRegistration, itmRegistrationCancel, itmRegistrationUpdate |
Methods inherited from class com.ibm.commerce.usermanagement.commands.UserRegistrationCmdImpl |
checkAddParameters, checkAncestorsLocked, checkCommonParameters, checkSelfRegistrationParameters, checkUpdateParameters, formulateDN, getAddress1, getAddress2, getAddress3, getAddressType, getAuthenticateMode, getBestCallingTime, getBillingCode, getBillingCodeType, getBusinessTitle, getCity, getCountry, getCreatedTimestamp, getEmail1, getEmail2, getEncipheredMerchantKey, getFax1, getFax2, getFirstName, getLastName, getMerchantKey, getMiddleName, getOfficeAddress, getOrganizationName, getOrganizationUnitName, getPackageSuppression, getPersonTitle, getPhone1, getPhone1Type, getPhone2, getPhone2Type, getPrimary, getProfileType, getPublishPhone1, getPublishPhone2, getRequestProperties, getRequiredRolesForUser, getState, getStatus, getURL, getViewInputProperties, getWorkingUserId, getZipCode, isAlphaNumeric, isLogonIdExist, isLogonIdExist, isLogonIdUnique, isReadyToCallExecute, logoffUserIfNotApproved, reset, setAddress1, setAddress2, setAddress3, setAddressField1, setAddressField2, setAddressField3, setAddressType, setAge, setAge, setAlternateId, setAuthenticateMode, setBestCallingTime, setBillingCode, setBillingCodeType, setBillingCodeTypeType, setBusinessTitle, setChallengeAnswer, setChallengeQuestion, setChildren, setChildren, setCity, setCompanyName, setCountry, setCreatedTimestamp, setDemographicsField1, setDemographicsField2, setDemographicsField3, setDemographicsField4, setDemographicsField5, setDemographicsField6, setDemographicsField6, setDemographicsField7, setDepartmentNumber, setDescription, setDisplayName, setDistinguishedName, setEmail1, setEmail2, setEmployeeId, setEmployeeType, setEncipheredMerchantKey, setFax1, setFax2, setFirstName, setGender, setHobbies, setHousehold, setHousehold, setIncome, setIncome, setIncomeCurrency, setLastName, setLogonId, setLogonPassword, setLogonPasswordVerify, setLogonPasswordVerifyVerify, setManager, setMaritalStatus, setMerchantKey, setMiddleName, setNickName, setOfficeAddress, setOrderBefore, setOrganizationId, setOrganizationId, setOrganizationName, setOrganizationUnitId, setOrganizationUnitId, setOrganizationUnitName, setPackageSuppression, setPackageSuppression, setPasswordExpired, setPasswordExpired, setPersonTitle, setPhone1, setPhone1Type, setPhone2, setPhone2Type, setPhoto, setPreferredCommunication, setPreferredCurrency, setPreferredDelivery, setPreferredLanguage, setPreferredLanguage, setPreferredMeasure, setPrimary, setPrimary, setProfileType, setPublishPhone1, setPublishPhone1, setPublishPhone2, setPublishPhone2, setRolesForMemberInOrg, setSecretary, setShippingGeoCode, setState, setStatus, setTaxGeoCode, setTaxPayerId, setTimeZone, setURL, setUserField1, setUserField2, setUserField3, setUserProfileField1, setUserProfileField2, setUserStatus, setUserStatus, setWorkingUserId, setZipCode, UpdateCredentials, UpdatePreferredCurrency, UpdatePreferredLanguage, UpdateReceiveEmail |
Methods inherited from class com.ibm.commerce.command.ControllerCommandImpl |
checkPermission, fulfills, getForUserId, getGeneric, getOwner, getResolvedRequestProperties, getResourceOwners, getResponseProperties, getRetriable, isGeneric, isRetriable, mergeProperties, setForUserId, setGeneric, setOwner, setResponseProperties, setRetriable, setViewInputProperties |
Methods inherited from class com.ibm.commerce.command.AbstractECTargetableCommand |
accessControlCheck, checkIsAllowed, checkParameters, checkResourcePermission, createCommandExecutionEvent, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.ibm.commerce.usermanagement.commands.UserRegistrationCmd |
getAddress1, getAddress2, getAddress3, getAddressType, getAuthenticateMode, getBestCallingTime, getBillingCode, getBillingCodeType, getBusinessTitle, getCity, getCountry, getCreatedTimestamp, getEmail1, getEmail2, getFax1, getFax2, getFirstName, getLastName, getMiddleName, getOfficeAddress, getOrganizationName, getOrganizationUnitName, getPackageSuppression, getPersonTitle, getPhone1, getPhone1Type, getPhone2, getPhone2Type, getPrimary, getProfileType, getPublishPhone1, getPublishPhone2, getState, getStatus, getWorkingUserId, getZipCode, reset, setAddress1, setAddress2, setAddress3, setAddressField1, setAddressField2, setAddressField3, setAddressType, setAge, setAge, setAlternateId, setAuthenticateMode, setBestCallingTime, setBillingCode, setBillingCodeType, setBusinessTitle, setChallengeAnswer, setChallengeQuestion, setChildren, setChildren, setCity, setCompanyName, setCountry, setCreatedTimestamp, setDemographicsField1, setDemographicsField2, setDemographicsField3, setDemographicsField4, setDemographicsField5, setDemographicsField6, setDemographicsField6, setDemographicsField7, setDepartmentNumber, setDescription, setDisplayName, setDistinguishedName, setEmail1, setEmail2, setEmployeeId, setEmployeeType, setEncipheredMerchantKey, setFax1, setFax2, setFirstName, setGender, setHobbies, setHousehold, setHousehold, setIncome, setIncome, setIncomeCurrency, setLastName, setLogonId, setLogonPassword, setLogonPasswordVerify, setManager, setMaritalStatus, setMerchantKey, setMiddleName, setOfficeAddress, setOrderBefore, setOrganizationId, setOrganizationId, setOrganizationName, setOrganizationUnitId, setOrganizationUnitId, setOrganizationUnitName, setPackageSuppression, setPackageSuppression, setPasswordExpired, setPasswordExpired, setPersonTitle, setPhone1, setPhone1Type, setPhone2, setPhone2Type, setPhoto, setPreferredCommunication, setPreferredCurrency, setPreferredDelivery, setPreferredLanguage, setPreferredLanguage, setPreferredMeasure, setPrimary, setPrimary, setProfileType, setPublishPhone1, setPublishPhone1, setPublishPhone2, setPublishPhone2, setSecretary, setShippingGeoCode, setState, setStatus, setTaxGeoCode, setTaxPayerId, setTimeZone, setURL, setUserField1, setUserField2, setUserField3, setUserProfileField1, setUserProfileField2, setUserStatus, setUserStatus, setWorkingUserId, setZipCode |
Methods inherited from interface com.ibm.commerce.command.ControllerCommand |
checkPermission, execute, getGeneric, getRequestProperties, getResolvedRequestProperties, getResponseProperties, getRetriable, getViewInputProperties, isGeneric, isRetriable, mergeProperties, setGeneric, setRetriable, setViewInputProperties |
Methods inherited from interface com.ibm.commerce.command.ECCommand |
checkIsAllowed, checkResourcePermission, createCommandExecutionEvent, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getStoreId, getUser, getUserId, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties |
COPYRIGHT
public static final java.lang.String COPYRIGHT
- IBM Copyright notice field.
- See Also:
- Constant Field Values
CLASSNAME
public static final java.lang.String CLASSNAME
- The name of this implementation of the command.
- See Also:
- Constant Field Values
UserRegistrationUpdateCmdImpl
public UserRegistrationUpdateCmdImpl()
getResources
public AccessVector getResources()
throws ECException
- Returns the resources.
-
- Specified by:
- getResources in interface ECCommand
- Overrides:
- getResources in class UserRegistrationCmdImpl
-
- Returns:
- Always will return null.
- Throws:
- ECException - Will never happen.
performExecute
public void performExecute()
throws ECException
- Updates the user's registration information.
-
- Specified by:
- performExecute in interface ECCommand
- Overrides:
- performExecute in class UserRegistrationCmdImpl
-
- Throws:
- ECException - If there is a problem calling the task commands or updating the user's information.
setRequestProperties
public void setRequestProperties(TypedProperty reqProperties)
throws ECApplicationException
- Sets the request properties and calls the PreUserRegistrationUpdate command to preform any preprocessing before the command is executed.
-
- Specified by:
- setRequestProperties in interface ControllerCommand
- Overrides:
- setRequestProperties in class UserRegistrationCmdImpl
-
- Parameters:
- reqProperties - the parameters passed to the command.
- Throws:
- ECApplicationException - If ther is a problem indicated when calling the PreUserRegistrationUpdate command.
validateParameters
public void validateParameters()
throws ECException
- Validates the parameters.
-
- Specified by:
- validateParameters in interface ECCommand
- Overrides:
- validateParameters in class UserRegistrationCmdImpl
-
- Throws:
- ECException - If there are missing parameters or if invalid parameters were specified.
Feedback
(C) Copyright IBM Corporation 1996, 2005. All Rights Reserved.