| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectatg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.GenericService
atg.userprofiling.ProfileServices
public class ProfileServices
A collection of web services that duplicate common userprofiling functionality provided via form handlers and repository functions
| Field Summary | |
|---|---|
| static java.lang.String | CLASS_VERSIONClass version string | 
| Fields inherited from class atg.nucleus.GenericService | 
|---|
| SERVICE_INFO_KEY | 
| Fields inherited from interface atg.userprofiling.ProfileServiceConstants | 
|---|
| ADMIN_UPDATE_NULL_ELEMENT, AUTHENTICATE_HASHKEY_ATTRIBUTE, AUTHENTICATE_TIMER_ATTRIBUTE, CHANGE_PASSWORD_MISMATCH, COPY_NULL_ITEM, CREATE_EXISTING_ITEM_ID, CREATE_EXISTING_ITEM_LOGIN, CREATE_ID_PARAM, CREATE_ID_PARAM_NAME, CREATE_NULL_ITEM, DEFAULT_LOGIN_PROFILE_TYPE, DEFAULT_PROFILE_PATH, DEFAULT_PROFILE_TOOLS_PATH, DEFAULT_REQUEST_LOCALE_PATH, DEFAULT_USER_PATH, DYNAMIC_ALGORITHM_INDICATOR, DYNAMIC_ALGORITHM_METHOD, ENCRYPT_INVALID_PASS_CONVERSATION, ENCRYPT_INVALID_SESSION_ATTRS, ENCRYPT_NULL_HASHKEY, HASHKEY_PARAM, HASHKEY_PARAM_NAME, LOGIN_BAD_ARGS, LOGIN_PARAM, LOGIN_PARAM_NAME, LOGIN_PASSWORD_MISMATCH, LOGOUT_ID_PARAM, LOGOUT_ID_PARAM_NAME, MATCH_PROP_PARAM, MATCH_PROP_PARAM_NAME, NEW_PASSWORD_PARAM, NEW_PASSWORD_PARAM_NAME, NO_ALGORITHM_FOUND, NULL_CURRENT_PROFILE, NULL_PROFILE_BY_ID, NULL_PROFILE_REPOSITORY, NULL_REQUEST, NULL_REQUEST_LOCALE, NULL_REQUEST_PARAMETER, NULL_SENTINEL, OPERATION_END_PARAM, OPERATION_END_PARAM_NAME, PASSWORD_PARAM, PASSWORD_PARAM_NAME, PUSH_REALM_PARAM, PUSH_REALM_PARAM_NAME, PUSH_SITE_PARAM, PUSH_SITE_PARAM_NAME, REGISTER_BAD_ARGS, SERVICE_NO_TOOLS, UPDATE_EVENT_PARAM, UPDATE_EVENT_PARAM_NAME, UPDATE_ID_PARAM, UPDATE_ID_PARAM_NAME, UPDATE_INVALID_REP, UPDATE_NO_ARGS, UPDATE_NO_ITEM, XML_ITEM_PARAM, XML_ITEM_PARAM_NAME | 
| 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 | |
|---|---|
| ProfileServices() | |
| Method Summary | |
|---|---|
|  void | addProperties(RepositoryItem pGuestUser,
              RepositoryItem pAuthenticatedUser,
              java.lang.String[] pPropertiesToAdd)Adds values from multi-valued properties from the guest user to the authenticated user | 
|  void | addProperty(java.lang.String pPropertyName,
            RepositoryItem pGuestUser,
            RepositoryItem pAuthenticatedUser)Adds a specific multi-valued property's values from the given guest user to the given authenticated user | 
|  void | addSwapEventListener(atg.userprofiling.ProfileSwapEventListener pListener)Adds a ProfileSwapEventListener to the list of listeners that care about ProfileSwapEvents | 
|  void | addUpdateListener(atg.userprofiling.ProfileUpdateListener pListener)Adds the given update listener to the list of listeners we already know about | 
|  RepositoryItem | addXMLItem(java.lang.String pItemAsXML,
           boolean pPersist)Adds or creates the given pItemAsXML, depending on the value of pPersist. | 
|  boolean | canClientEncryptPasswords()Tests to see whether we can allow clients to encrypt their passwords. | 
| protected  void | commitTransaction()Commits the current transaction | 
|  void | copyProperties(RepositoryItem pGuestUser,
               RepositoryItem pAuthenticatedUser,
               java.lang.String[] pPropertiesToCopy)Copies the properties named in pPropertiesToCopyfrom
 thepGuestUserto thepAuthenticatedUser | 
|  java.lang.String | createUser(java.lang.String pProfileAsXML)Creates a persistent user using the profile values given in pProfileAsXML. | 
|  boolean | deleteUser(java.lang.String pProfileId)Deletes a persistent user whose id matches pProfileId. | 
| protected  void | doCreateUser(DynamoHttpServletRequest pRequest,
             DynamoHttpServletResponse pResponse)Creates a user that is present as the request parameter, XML_ITEM_PARAM | 
| protected  void | doDeleteUser(DynamoHttpServletRequest pRequest,
             DynamoHttpServletResponse pResponse)Deletes a user that matches the id present as the request parameter, UPDATE_ID_PARAM. | 
| protected  void | doLoginUser(DynamoHttpServletRequest pRequest,
            DynamoHttpServletResponse pResponse)Logs in a user. | 
| protected  void | doLoginUser(DynamoHttpServletRequest pRequest,
            DynamoHttpServletResponse pResponse,
            boolean pTrusted)Logs in a user. | 
| protected  void | doLogoutUser(DynamoHttpServletRequest pRequest,
             DynamoHttpServletResponse pResponse)Called to logout a user. | 
| protected  void | doSetPassword(DynamoHttpServletRequest pRequest,
              DynamoHttpServletResponse pResponse)Called to actually change the current user's password. | 
|  void | doStartService()Called when this service starts, after its properties have been set. | 
| protected  void | doUpdateUser(DynamoHttpServletRequest pRequest,
             DynamoHttpServletResponse pResponse)Updates the user that is present as the request parameter, XML_ITEM_PARAM. | 
|  void | encryptPassword(MutableRepositoryItem pProfile)Takes the cleartext password of the given profile, encrypts it, and resets it to the encrypted version | 
|  boolean | endOperation(DynamoHttpServletRequest pRequest)Checks the given request to see if the OPERATION_END_PARAM is present and set to true | 
|  java.lang.Object | endOperationValue(DynamoHttpServletRequest pRequest)Gets the value of the OPERATION_END_PARAM_NAME from the given request. | 
| protected  javax.transaction.Transaction | ensureTransaction()This method ensures that a transaction exists before returning. | 
|  long | getBadPasswordDelay()Get property badPasswordDelayDEFAULT: 1000 (1 second) | 
|  java.lang.String | getCreateProfileType()Get property createProfileTypeDEFAULT: user | 
|  Profile | getCurrentProfile()Gets the profile of the current thread's user | 
|  java.lang.String | getCurrentProfileId()Gets the profileId of the current thread's user | 
|  PasswordHasher | getLoginPasswordHasher()Gets a password hasher for logging in | 
|  java.lang.String | getLoginProfileType()Get property loginProfileTypeDEFAULT: user | 
|  java.lang.String | getLogoutProfileType()Get property logoutProfileTypeDEFAULT: user | 
|  java.lang.String | getMappingFile(Repository pRepository,
               java.lang.String pItemDescriptorName)Gets a mapping file for a particular repository:itemDescriptorName combination | 
|  atg.repository.xml.ItemDescriptorMappingManager | getMappingManager()Get property mappingManagerDEFAULT: null | 
|  long | getMaxAuthenticationWait()Get property maxAuthenticationWaitDEFAULT: 30000 (30 seconds) | 
|  java.lang.String | getPasswordHashAlgorithm()Gets the algorithm for the password hasher used by the profile property manager | 
|  java.lang.String | getPasswordHashKey()Gets a hashkey for a password. | 
|  java.lang.String | getProfile(java.lang.String pProfileId)Gets the profile using the given profile id | 
|  java.lang.String | getProfile(java.lang.String pProfileId,
           java.lang.String pMappingFile)Gets the profile using the given profile id, and applies the given mapping file to the returned Repo2Xml string | 
|  java.lang.String | getProfileId(java.lang.String pLogin)Gets the profile id of the person with the given login | 
|  java.lang.String | getProfilePath()Get property profilePathDEFAULT: /atg/userprofiling/Profile | 
|  ProfileRealmManager | getProfileRealmManager()get ProfileRealmManager | 
|  ProfileTools | getProfileTools()Get property profileToolsDEFAULT: null | 
|  java.lang.String[] | getPropertiesToAddOnLogin()Get property propertiesToAddOnLoginDEFAULT: null | 
|  java.lang.String[] | getPropertiesToCopyOnLogin()Get property propertiesToCopyOnLoginDEFAULT: null | 
|  RepositoryItem | getRepositoryItemFromXML(java.lang.String pItemAsXML)Gets a RepositoryItem object from the given XML representation The item is matched based on the id property in the XML file | 
|  RepositoryItem | getRepositoryItemFromXML(java.lang.String pItemAsXML,
                         java.lang.String[] pMatchedProperties)Gets a RepositoryItem object from the given XML representation The item is matched based on the id property in the XML file | 
|  java.lang.String | getRequestLocalePath()Get property RequestLocalePathDEFAULT: /atg/dynamo/servlet/RequestLocale | 
|  javax.transaction.TransactionManager | getTransactionManager()Get property transactionManagerDEFAULT: null | 
|  atg.userprofiling.ProfileUpdateListener[] | getUpdateEventListeners()Get property UpdateEventListenersDEFAULT: null | 
|  AddService | getXmlAddService()Get property XmlAddServiceDEFAULT: null | 
|  GetService | getXmlGetService()Get property xmlGetServiceDEFAULT: null | 
|  java.lang.String | getXMLItem(RepositoryItem pItem,
           Repository pRepository,
           java.lang.String pItemDescriptorName,
           java.lang.String pMappingFile)Transforms the given repository item into XML, possibly using a mapping file to cull properties | 
|  UpdateService | getXmlUpdateService()Get property xmlUpdateServiceDEFAULT: null | 
|  boolean | isAllowEncryptedPasswords()Get property AllowEncryptedPasswordsDEFAULT: true | 
|  boolean | isExpireSessionOnLogout()Get property expireSessionOnLogoutDEFAULT: true | 
|  boolean | isGenerateLoginEvents()Get property GenerateLoginEventsDEFAULT: true | 
|  boolean | isGenerateLogoutEvents()Get property GenerateLogoutEventsDEFAULT: true | 
|  boolean | isGenerateRegisterEvents()Get property GenerateRegisterEventsDEFAULT: true | 
|  boolean | isGenerateUpdateEvents()Get property GenerateUpdateEventsDEFAULT: true | 
|  boolean | isUseDefaultMappings()Get property UseDefaultMappingsDEFAULT: true | 
|  boolean | isUsingLDAPProfile()Get property usingLDAPProfileDEFAULT: false | 
|  java.lang.String | loginTrustedUser(java.lang.String pLogin)Attempts to login a user using the given login. | 
|  java.lang.String | loginUser(java.lang.String pLogin,
          java.lang.String pPassword)Attempts to login a user using the given login and password. | 
|  java.lang.String | loginUser(java.lang.String pLogin,
          java.lang.String pPassword,
          boolean pIsPasswordEncrypted)Attempts to login a user using the given login and password. | 
|  java.lang.String | loginUserOnRealm(java.lang.String pLogin,
                 java.lang.String pPassword,
                 boolean pIsPasswordEncrypted,
                 java.lang.String pPushRealm,
                 java.lang.String pPushSite)Attempts to login a user using the given login and password. | 
|  void | logoutUser()Logs out the current user. | 
|  boolean | popRealm(java.lang.String pRealmId) | 
| protected  void | postCreateUser(DynamoHttpServletRequest pRequest,
               DynamoHttpServletResponse pResponse)Called after a new user is created. | 
| protected  void | postDeleteUser(DynamoHttpServletRequest pRequest,
               DynamoHttpServletResponse pResponse)Called after a user is succesfully deleted. | 
| protected  void | postLoginUser(DynamoHttpServletRequest pRequest,
              DynamoHttpServletResponse pResponse)Called after a user is successfully logged in. | 
| protected  void | postLoginUser(DynamoHttpServletRequest pRequest,
              DynamoHttpServletResponse pResponse,
              boolean pTrusted)Called after a user is successfully logged in. | 
| protected  void | postLogoutUser(DynamoHttpServletRequest pRequest,
               DynamoHttpServletResponse pResponse)Called after a user is logged out. | 
| protected  void | postSetPassword(DynamoHttpServletRequest pRequest,
                DynamoHttpServletResponse pResponse)Called after the current user's password is setd. | 
| protected  void | postUpdateUser(DynamoHttpServletRequest pRequest,
               DynamoHttpServletResponse pResponse)Called after a user is updated. | 
| protected  void | preCreateUser(DynamoHttpServletRequest pRequest,
              DynamoHttpServletResponse pResponse)Called before a user is created. | 
| protected  void | preDeleteUser(DynamoHttpServletRequest pRequest,
              DynamoHttpServletResponse pResponse)Called before a user is deleted. | 
| protected  void | preLoginUser(DynamoHttpServletRequest pRequest,
             DynamoHttpServletResponse pResponse)Called before a login actually takes place. | 
| protected  void | preLoginUser(DynamoHttpServletRequest pRequest,
             DynamoHttpServletResponse pResponse,
             boolean pTrusted)Called before a login actually takes place. | 
| protected  void | preLogoutUser(DynamoHttpServletRequest pRequest,
              DynamoHttpServletResponse pResponse)Called before a user is logged out. | 
| protected  void | preSetPassword(DynamoHttpServletRequest pRequest,
               DynamoHttpServletResponse pResponse)Called before the current user's password is changed. | 
|  java.lang.String | pushRealmFromRequest(DynamoHttpServletRequest pRequest) | 
|  void | removeSwapEventListener(atg.userprofiling.ProfileSwapEventListener pListener)Removes a ProfileSwapEventListener to the list of listeners that care about ProfileSwapEvents | 
|  void | removeUpdateListener(atg.userprofiling.ProfileUpdateListener pListener)Removes the given update listener from the list of listeners we already know about | 
|  void | sendProfileSwapEvent(int pEventType,
                     RepositoryItem pPreSwapItem,
                     RepositoryItem pPostSwapItem)Sends a ProfileSwapEvent using the given arguments | 
|  void | sendUpdateEvent(atg.userprofiling.ProfileUpdateEvent pEvent)Sends the given update event to all of the registered update listeners | 
|  void | setAllowEncryptedPasswords(boolean pAllowEncryptedPasswords)Set property AllowEncryptedPasswordsDEFAULT: true | 
|  void | setBadPasswordDelay(long pBadPasswordDelay)Set property badPasswordDelayDEFAULT: 1000 (1 second) | 
|  void | setContactInfo(java.lang.String pProfileId,
               java.lang.String pContactInfoAsXML)Changes the contact info property for a user. | 
|  void | setCreateProfileType(java.lang.String pCreateProfileType)Set property createProfileTypeDEFAULT: user | 
|  void | setExpireSessionOnLogout(boolean pExpireSessionOnLogout)Set property expireSessionOnLogoutDEFAULT: true | 
|  void | setGenerateLoginEvents(boolean pGenerateLoginEvents)Set property GenerateLoginEventsDEFAULT: true | 
|  void | setGenerateLogoutEvents(boolean pGenerateLogoutEvents)Set property GenerateLogoutEventsDEFAULT: true | 
|  void | setGenerateRegisterEvents(boolean pGenerateRegisterEvents)Set property GenerateRegisterEventsDEFAULT: true | 
|  void | setGenerateUpdateEvents(boolean pGenerateUpdateEvents)Set property GenerateUpdateEventsDEFAULT: true | 
|  void | setLocale(java.lang.String pProfileId,
          java.lang.String pLocaleName)Changes the locale property for a user. | 
|  void | setLoginProfileType(java.lang.String pLoginProfileType)Set property loginProfileTypeDEFAULT: user | 
|  void | setLogoutProfileType(java.lang.String pLogoutProfileType)Set property logoutProfileTypeDEFAULT: user | 
|  void | setMappingManager(atg.repository.xml.ItemDescriptorMappingManager pMappingManager)Set property mappingManagerDEFAULT: null | 
|  void | setMaxAuthenticationWait(long pMaxAuthenticationWait)Set property maxAuthenticationWaitDEFAULT: 30000 (30 seconds) | 
|  void | setPassword(java.lang.String pProfileId,
            java.lang.String pOldPassword,
            java.lang.String pNewPassword)Allows a user to set their own password. | 
|  void | setProfilePath(java.lang.String pProfilePath)Set property profilePathDEFAULT: /atg/userprofiling/Profile | 
|  void | setProfileRealmManager(ProfileRealmManager pProfileRealmManager)set ProfileRealmManager | 
|  void | setProfileTools(ProfileTools pProfileTools)Set property profileToolsDEFAULT: null | 
|  void | setPropertiesToAddOnLogin(java.lang.String[] pPropertiesToAddOnLogin)Set property propertiesToAddOnLoginDEFAULT: null | 
|  void | setPropertiesToCopyOnLogin(java.lang.String[] pPropertiesToCopyOnLogin)Set property propertiesToCopyOnLoginDEFAULT: null | 
|  void | setRequestLocalePath(java.lang.String pRequestLocalePath)Set property RequestLocalePathDEFAULT: /atg/dynamo/servlet/RequestLocale | 
|  void | setSessionLocale(java.lang.String pLocaleName)Sets the locale of the current session by changing the session-scoped RequestLocale component. | 
|  void | setTransactionManager(javax.transaction.TransactionManager pTransactionManager)Set property transactionManagerDEFAULT: null | 
|  void | setUpdateEventListeners(atg.userprofiling.ProfileUpdateListener[] pUpdateEventListeners)Set property UpdateEventListenersDEFAULT: null | 
|  void | setUseDefaultMappings(boolean pUseDefaultMappings)Set property UseDefaultMappingsDEFAULT: true | 
|  void | setUsingLDAPProfile(boolean pUsingLDAPProfile)Set property usingLDAPProfileDEFAULT: false | 
|  void | setXmlAddService(AddService pXmlAddService)Set property XmlAddServiceDEFAULT: null | 
|  void | setXmlGetService(GetService pXmlGetService)Set property xmlGetServiceDEFAULT: null | 
|  void | setXmlUpdateService(UpdateService pXmlUpdateService)Set property xmlUpdateServiceDEFAULT: null | 
|  void | updateLDAPProfileAttributes(MutableRepositoryItem pItem)Updates profile attributes pertaining to LDAP. | 
|  void | updateUser(java.lang.String pProfileAsXML)Updates a persistent user using the profile values given in pProfileAsXML. | 
|  void | updateUser(java.lang.String pProfileAsXML,
           java.lang.String[] pMatchProperties)Updates a persistent user using the profile values given in pProfileAsXML. | 
|  void | updateXMLItem(java.lang.String pItemAsXML,
              java.lang.String[] pMatchedProperties)Updates a Repo2Xml item | 
| Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl | 
|---|
| vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, 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 | 
|---|
public static java.lang.String CLASS_VERSION
| Constructor Detail | 
|---|
public ProfileServices()
| Method Detail | 
|---|
public void setAllowEncryptedPasswords(boolean pAllowEncryptedPasswords)
AllowEncryptedPasswords
 DEFAULT: true
pAllowEncryptedPasswords - true if services that accept
 or require passwords allow those passwords to be encrypted. This
 only applies to services that compare password values, not services
 that set passwords. Services that set passwords should NOT be called
 with encrypted passwordspublic boolean isAllowEncryptedPasswords()
AllowEncryptedPasswords
 DEFAULT: true
public void setUseDefaultMappings(boolean pUseDefaultMappings)
UseDefaultMappings
 DEFAULT: true
pUseDefaultMappings - true if services that return Repo2Xml
 items should use default mapping files supplied by the
 ItemMappingManager configured for this component. This
 property is ignored if a mapping file is explicitly passed to
 the servicepublic boolean isUseDefaultMappings()
UseDefaultMappings
 DEFAULT: true
ItemMappingManager configured for this component. This
 property is ignored if a mapping file is explicitly passed to
 the servicepublic void setGenerateLoginEvents(boolean pGenerateLoginEvents)
GenerateLoginEvents
 DEFAULT: true
pGenerateLoginEvents - true if login events should be
 fired when a login occurspublic boolean isGenerateLoginEvents()
GenerateLoginEvents
 DEFAULT: true
public void setGenerateUpdateEvents(boolean pGenerateUpdateEvents)
GenerateUpdateEvents
 DEFAULT: true
pGenerateUpdateEvents - true if update events should be fired when
 an update occurspublic boolean isGenerateUpdateEvents()
GenerateUpdateEvents
 DEFAULT: true
public void setGenerateRegisterEvents(boolean pGenerateRegisterEvents)
GenerateRegisterEvents
 DEFAULT: true
pGenerateRegisterEvents - true if register events should be
 fired when someone registerspublic boolean isGenerateRegisterEvents()
GenerateRegisterEvents
 DEFAULT: true
public void setGenerateLogoutEvents(boolean pGenerateLogoutEvents)
GenerateLogoutEvents
 DEFAULT: true
pGenerateLogoutEvents - true if a logout events should be fired
 when a user logs outpublic boolean isGenerateLogoutEvents()
GenerateLogoutEvents
 DEFAULT: true
public void setUpdateEventListeners(atg.userprofiling.ProfileUpdateListener[] pUpdateEventListeners)
UpdateEventListeners
 DEFAULT: null
pUpdateEventListeners - an array of objects that listen
 for ProfileUpdateEvents i.e. events that are fired when
 user updates occur through services in this classpublic atg.userprofiling.ProfileUpdateListener[] getUpdateEventListeners()
UpdateEventListeners
 DEFAULT: null
public void setRequestLocalePath(java.lang.String pRequestLocalePath)
RequestLocalePath
 DEFAULT: /atg/dynamo/servlet/RequestLocale
pRequestLocalePath - the path to a session-scoped RequestLocale
 component, which handles locale-based redirecting on a per-session
 basispublic java.lang.String getRequestLocalePath()
RequestLocalePath
 DEFAULT: /atg/dynamo/servlet/RequestLocale
public void setProfilePath(java.lang.String pProfilePath)
profilePath
 DEFAULT: /atg/userprofiling/Profile
pProfilePath - the path to the profile component used in
 all userprofiling operationspublic java.lang.String getProfilePath()
profilePath
 DEFAULT: /atg/userprofiling/Profile
public void setCreateProfileType(java.lang.String pCreateProfileType)
createProfileType
 DEFAULT: user
pCreateProfileType - when creating a new profile, this
 it the item type it should be i.e. item descriptor namepublic java.lang.String getCreateProfileType()
createProfileType
 DEFAULT: user
public void setLoginProfileType(java.lang.String pLoginProfileType)
loginProfileType
 DEFAULT: user
pLoginProfileType - when logging in a user, the item type
 that their profile is expected to be. If there are many possible profile
 types due to subtyping, then this value should be set to their
 collective supertypepublic java.lang.String getLoginProfileType()
loginProfileType
 DEFAULT: user
public void setLogoutProfileType(java.lang.String pLogoutProfileType)
logoutProfileType
 DEFAULT: user
pLogoutProfileType - when a user logs out, this is the item
 type that next guest user will havepublic java.lang.String getLogoutProfileType()
logoutProfileType
 DEFAULT: user
public void setUsingLDAPProfile(boolean pUsingLDAPProfile)
usingLDAPProfile
 DEFAULT: false
pUsingLDAPProfile - true if these userprofiling services
 act upon an LDAP-based profile (this includes composite profiles
 with an LDAP component)public boolean isUsingLDAPProfile()
usingLDAPProfile
 DEFAULT: false
public void setBadPasswordDelay(long pBadPasswordDelay)
badPasswordDelay
 DEFAULT: 1000 (1 second)
pBadPasswordDelay - the number of milliseconds to pause
 when a login is attempted with a bad password. This value must
 not be negativepublic long getBadPasswordDelay()
badPasswordDelay
 DEFAULT: 1000 (1 second)
public void setExpireSessionOnLogout(boolean pExpireSessionOnLogout)
expireSessionOnLogout
 DEFAULT: true
pExpireSessionOnLogout - true if a person's entire session should
 be expired after they logoutpublic boolean isExpireSessionOnLogout()
expireSessionOnLogout
 DEFAULT: true
public void setPropertiesToCopyOnLogin(java.lang.String[] pPropertiesToCopyOnLogin)
propertiesToCopyOnLogin
 DEFAULT: null
pPropertiesToCopyOnLogin - an array of properties that
 should be copied from a guest user to a persistent user upon
 login. Both single-value and multi-valued properties will be
 copied entirely i.e. any previous values are overwrittenpublic java.lang.String[] getPropertiesToCopyOnLogin()
propertiesToCopyOnLogin
 DEFAULT: null
public void setPropertiesToAddOnLogin(java.lang.String[] pPropertiesToAddOnLogin)
propertiesToAddOnLogin
 DEFAULT: null
pPropertiesToAddOnLogin - an array of multi-valued properties
 whose values should be added from a guest user to the existing values
 of a persistent user when the guest logs inpublic java.lang.String[] getPropertiesToAddOnLogin()
propertiesToAddOnLogin
 DEFAULT: null
public void setMappingManager(atg.repository.xml.ItemDescriptorMappingManager pMappingManager)
mappingManager
 DEFAULT: null
pMappingManager - the service that controls mapping files for all
 item descriptors. This is used to provide default mapping files for
 particular repository:itemDescriptor pairs, so if a service returns
 Repo2Xml items of a type that has had an ItemDescriptorMapping
 defined for it, that mapping will automatically be applied before
 the Repo2Xml item is returned (unless useDefaultMappings
 is false)public atg.repository.xml.ItemDescriptorMappingManager getMappingManager()
mappingManager
 DEFAULT: null
useDefaultMappings
 is false)public void setXmlAddService(AddService pXmlAddService)
XmlAddService
 DEFAULT: null
pXmlAddService - a service that knows how to add Repo2Xml
 items to a repositorypublic AddService getXmlAddService()
XmlAddService
 DEFAULT: null
public void setXmlGetService(GetService pXmlGetService)
xmlGetService
 DEFAULT: null
pXmlGetService - the service that turns a RepositoryItem
 into an xml representation (known as a Repo2Xml item)public GetService getXmlGetService()
xmlGetService
 DEFAULT: null
public void setXmlUpdateService(UpdateService pXmlUpdateService)
xmlUpdateService
 DEFAULT: null
pXmlUpdateService - a service that knows how to add Repo2Xml
 items to a repositorypublic UpdateService getXmlUpdateService()
xmlUpdateService
 DEFAULT: null
public void setProfileTools(ProfileTools pProfileTools)
profileTools
 DEFAULT: null
pProfileTools - a collection of utility methods that help
 perform common funtions used by several profile servicespublic ProfileTools getProfileTools()
profileTools
 DEFAULT: null
public void setTransactionManager(javax.transaction.TransactionManager pTransactionManager)
transactionManager
 DEFAULT: null
pTransactionManager - the transaction manager for all web servicespublic javax.transaction.TransactionManager getTransactionManager()
transactionManager
 DEFAULT: null
public void setMaxAuthenticationWait(long pMaxAuthenticationWait)
maxAuthenticationWait
 DEFAULT: 30000 (30 seconds)
pMaxAuthenticationWait - the number of milliseconds allowed
 before an encrypted login conversation becomes invalid. An
 encrypted login conversation requires a client to call several
 methods in order to correctly encrypt a password to be passed to
 the login web service. The timer for this conversation is started
 when getPasswordHashKey is called, since this hashkey is intended
 to be temporary and unique for one login attempt. The timer ends
 when loginUser is called. The difference in time between
 those two calls should not exceed pMaxAuthenticationWait,
 otherwise the login attempt is considered invalid.public long getMaxAuthenticationWait()
maxAuthenticationWait
 DEFAULT: 30000 (30 seconds)
pMaxAuthenticationWait,
 otherwise the login attempt is considered invalid.public void addSwapEventListener(atg.userprofiling.ProfileSwapEventListener pListener)
pListener - the ProfileSwapEventListener to addpublic void removeSwapEventListener(atg.userprofiling.ProfileSwapEventListener pListener)
pListener - the ProfileSwapEventListener to removepublic void setProfileRealmManager(ProfileRealmManager pProfileRealmManager)
pProfileRealmManager - the ProfileRealmManagerpublic ProfileRealmManager getProfileRealmManager()
public void setSessionLocale(java.lang.String pLocaleName)
                      throws javax.servlet.ServletException
setLocale to accomplish this. This method is also
 intended to be called in the context of an HTTP request.
pLocaleName - the locale to change to for the length of
 the session. If this is null, then the current locale will be
 set to the default locale for the RequestLocale component
javax.servlet.ServletException - if an error occurs trying
 to change the locale, or this method is not called in the
 context of an HTTP request
public void setPassword(java.lang.String pProfileId,
                        java.lang.String pOldPassword,
                        java.lang.String pNewPassword)
                 throws javax.servlet.ServletException
pNewPassword supplied. This
 "password property" is defined as the profile property whose name
 matches the profileTools.propertyManager.passwordPropertyName
 property value. The password that is to be changed should belong to
 the current session's profile.
 
 This method is not intended to be used by an admin changing someone
 else's password, use adminSetPassword if you wish to do this.
 
 This method calls preSetPassword,
 doSetPassword , and
 postSetPassword in turn, to
 do the actual property change. 
 
 The following request parameters are set in this method
 PASSWORD_PARAM - for the old password
 NEW_PASSWORD_PARAM - for the new password
 UPDATE_ID_PARAM - the id of the profile being
 updated
 
Extensions of this class, or of the preSet, doSet, and postSet methods can use these parameters to get access to this methods original arguments This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
pProfileId - the id of the current profile, whose password
 is being changed. This argument is used by the ProfileOwnerPolicy
 to ensure that the person who calls this service is the person
 who is in the current session, if this security policy is applied.
 This argument must not be nullpOldPassword - the old password that is being changed. This is
 needed to verify the credentials of the current profile before changing
 the password. This argument can be null (if your profile
 repository allows null passwords)pNewPassword - the new value for the user's password property.
 This argument can be null (if your profile repository allows null
 passwords)
javax.servlet.ServletException - if an error occurs changing the password
protected void preSetPassword(DynamoHttpServletRequest pRequest,
                              DynamoHttpServletResponse pResponse)
                       throws javax.servlet.ServletException
pRequest - the current request, which is guaranteed to
 contain the following parameters:
   PASSWORD_PARAM - for the old password
NEW_PASSWORD_PARAM - for the new password
UPDATE_ID_PARAM - the id of the profile being updated
pResponse - the current response
javax.servlet.ServletException - if an error occurs here
protected void doSetPassword(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse)
                      throws javax.servlet.ServletException
profileTools.propertyManager.passwordHasher
 object
pRequest - the current request, which is guaranteed to
 contain the following parameters:
   PASSWORD_PARAM - for the old password
NEW_PASSWORD_PARAM - for the new password
UPDATE_ID_PARAM - the id of the profile being updated
pResponse - the current response
javax.servlet.ServletException - occurs in the following cases:
 pRequest
 does not match the given profile's current password
 (note that the password in the request will be encrypted before
 comparing its value with the current profile's password)
 
protected void postSetPassword(DynamoHttpServletRequest pRequest,
                               DynamoHttpServletResponse pResponse)
                        throws javax.servlet.ServletException
pRequest - the current request, which is guaranteed to
 contain the following parameters:
   PASSWORD_PARAM - for the old password
NEW_PASSWORD_PARAM - for the new password
UPDATE_ID_PARAM - the id of the profile being updated
pResponse - the current response
javax.servlet.ServletException - if an error occurs here
public java.lang.String getProfile(java.lang.String pProfileId)
                            throws RepositoryException
A transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
pProfileId - the id of the profile to get. If null
 is entered for this argument, then null is returned
useDefaultMappings, a default mapping file could
 be applied to the resulting Repo2Xml
RepositoryException - if an error occurs trying to
 retrieve the item
public java.lang.String getProfile(java.lang.String pProfileId,
                                   java.lang.String pMappingFile)
                            throws RepositoryException
A transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
pProfileId - the id of the profile to get. If null is entered
 for this argument, then this method returns nullpMappingFile - a mapping file that dictates what
 profile properties are returned in the resulting XML. If null is
 entered for this argument, then a default mapping file could
 be applied, depending on the value of useDefaultMappings
RepositoryException - if any of the following occurs:
 
public java.lang.String getProfileId(java.lang.String pLogin)
                              throws RepositoryException
A transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
pLogin - the login to find the id for. If this argument is
 null, then null is returned
RepositoryException - if an error occurs trying to
 find the person. This error will come from the profile repository
 directly, and not from this method
public void updateUser(java.lang.String pProfileAsXML)
                throws javax.servlet.ServletException
pProfileAsXML. It's intended that this service be
 used by users to update their own profile, and certain session
 actions will take place based on that assumption i.e. cookie handling,
 locale changing, etc. Admins that want to update other users' profiles
 should use adminUpdateUser,
 and not this method.
 
 This method calls preUpdateUser,
 doUpdateUser , and
 postUpdateUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
 The following request parameter is set in this method
 XML_ITEM_PARAM - the current Repo2Xml item
 that is being updated
pProfileAsXML - the profile with updated values, as a Repo2Xml
 item
javax.servlet.ServletException - if any of the following occurs:
 pProfileAsXML argument is null or empty
 
public void updateUser(java.lang.String pProfileAsXML,
                       java.lang.String[] pMatchProperties)
                throws javax.servlet.ServletException
pProfileAsXML. It's intended that this service be
 used by users to update their own profile, and certain session
 actions will take place based on that assumption i.e. cookie handling,
 locale changing, etc. Admins that want to update other users' profiles
 should use adminUpdateUser,
 and not this method.
 
 This method calls preUpdateUser,
 doUpdateUser , and
 postUpdateUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
 The following request parameter is set in this method
 XML_ITEM_PARAM - the current Repo2Xml item
 that is being updated
pProfileAsXML - the profile with updated values, as a Repo2Xml
 itempMatchProperties - an array of properties present in the
 given xml items whose values will be used to find their persistent
 counterparts in the repository. The Repo2Xml values for all the given
 property names must exactly match the values or a corresponding
 repository item in order for the item to be properly updated
javax.servlet.ServletException - if any of the following occurs:
 pProfileAsXML argument is null or empty
 
protected void doUpdateUser(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse)
                     throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameter:
   XML_ITEM_PARAM - the xml item that is to be updated
And can optionally have the following parameter:
UPDATE_EVENT_PARAM - a map of property names to values, which represents a snapshot of the item-to-update before the update occurs
pResponse - the current response
javax.servlet.ServletException - if any of the following errors occur:
 pRequest
 
protected void postUpdateUser(DynamoHttpServletRequest pRequest,
                              DynamoHttpServletResponse pResponse)
                       throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameter:
   XML_ITEM_PARAM - the xml item that is to be updated
And can optionally have the following parameter:
UPDATE_EVENT_PARAM - a map of property names to values, which represents a snapshot of the item-to-update before the update occurs
pRequest - the current responsepResponse - the current response
javax.servlet.ServletException - if any of the following occur:
 
public void setContactInfo(java.lang.String pProfileId,
                           java.lang.String pContactInfoAsXML)
                    throws RepositoryException
profileTools.propertyManager.contactInfoPropertyName
 value that resolves to an actual profile property. This property
 must also be of type atg.repository.RepositoryItem
 A transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
pProfileId - the profile id of the user whose contactInfo
 property is to be changed. This argument must not be null.pContactInfoAsXML - a Repo2Xml item of the contact info
 that the user's contactInfo property should be set to. This
 argument can be null.
RepositoryException - if any of the following occurs:
 pProfileId is null
 pProfileId
 
public void setLocale(java.lang.String pProfileId,
                      java.lang.String pLocaleName)
               throws RepositoryException
profileTools.propertyManager.localePropertyName
 value that resolves to an actual profile property. This property
 must also be of type java.lang.String
 A transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
pProfileId - the profile id of the user whose contactInfo
 property is to be changed. This argument must not be null.pLocaleName - The locale string that represents the locale
 that the user's locale property should be set to e.g. en_EN. This
 argument can be null.
RepositoryException - if any of the following occurs:
 pProfileId is null
 pProfileId
 
public java.lang.String loginTrustedUser(java.lang.String pLogin)
                                  throws javax.servlet.ServletException
 This method calls preLogin,
 doLoginUser , and
 postLoginUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
The following request parameters are set in this method:
LOGIN_PARAM - the login of the user
 
pLogin - the login of the user to login. This argument cannot
 be null
javax.servlet.ServletException - if any of the following errors occur:
 pLogin is null
 
public java.lang.String loginUser(java.lang.String pLogin,
                                  java.lang.String pPassword)
                           throws javax.servlet.ServletException
 This method calls preLogin,
 doLoginUser , and
 postLoginUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
The following request parameters are set in this method:
LOGIN_PARAM - the login of the user
 PASSWORD_PARAM - the password of the user
 
pLogin - the login of the user to login. This argument cannot
 be nullpPassword - the cleartext password of the user to login. This
 argument can be null
javax.servlet.ServletException - if any of the following errors occur:
 pLogin is null
 
public java.lang.String loginUser(java.lang.String pLogin,
                                  java.lang.String pPassword,
                                  boolean pIsPasswordEncrypted)
                           throws javax.servlet.ServletException
getPasswordHashKey() method was called
 prior to this method in order to get a temporary hashkey used
 to encrypt the password on the method caller's end.
 Password encryption on the client side is an option when using this
 service with a non-secure protocol, such as http. It should be
 stressed in triplicate that this mechanism for encryption is not
 meant to be un-hackable. If you really want password security, then
 use https when calling this service. Just for completeness, here is
 the required conversation for logging in a user with client-side password
 encryption (this conversation must be handled in a timely fasion, since
 there is a timer starting when getPasswordHashKey is called, and ending
 when this method is called. The time between these method calls cannot
 exceed the value of maxAuthenticationWait in milliseconds):
 1) Client calls canClientEncryptPasswords
 2) If canClientEncryptPasswords returns false, client should use
 https and send the password as cleartext. Currently, only the
 MD5PasswordHasher is a supported for encrypted passwords. Client should
 call loginUser(login, cleartext_password, false)
 3) If canClientEncryptPasswords returns true, client
 calls getPasswordHashAlgorithm
 4) Client encrypts the user's password using the rules required by
 the returned algorithm. These rules vary depending on the password
 hasher being used for a given application. Consult the documentation
 for specifics. 
 5) Client calls getPasswordHashKey - note that the conversation
 timer is started here. Clients have maxAuthenticationWait
 milliseconds to call loginUser. If loginUser is not
 called quickly enough, an error is thrown when it is eventually
 called
 6) Client further encrypts the user's password using the returned
 hash key. The order and manner in which this encryption occurs is
 based on the rules of the password hasher being used. Consult
 the documentation for specifics.
 7) Client calls
 loginUser(login, encrypted_password_from_step_6, true)
 As you can see, encrypting passwords on the client side is tricky, and
 not 100% safe. It is strongly recommended that you call this service
 using https and cleartext passwords
 
 This method calls preLogin,
 doLoginUser , and
 postLoginUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
The following request parameters are set in this method:
LOGIN_PARAM - the login of the user
 PASSWORD_PARAM - the password of the user
 If this method is called by a user that is already logged in, then that user's login is returned (assuming the credentials match)
pLogin - the login of the user. This argument cannot be nullpPassword - the password of the user to login. This argument
 can be nullpIsPasswordEncrypted - true if the given password is
 encrypted according to the rules above, false if the password
 is cleartext
javax.servlet.ServletException - if any of the following errors occur:
 pLogin is null
 
public java.lang.String loginUserOnRealm(java.lang.String pLogin,
                                         java.lang.String pPassword,
                                         boolean pIsPasswordEncrypted,
                                         java.lang.String pPushRealm,
                                         java.lang.String pPushSite)
                                  throws javax.servlet.ServletException
getPasswordHashKey() method was called
 prior to this method in order to get a temporary hashkey used
 to encrypt the password on the method caller's end.
 Password encryption on the client side is an option when using this
 service with a non-secure protocol, such as http. It should be
 stressed in triplicate that this mechanism for encryption is not
 meant to be un-hackable. If you really want password security, then
 use https when calling this service. Just for completeness, here is
 the required conversation for logging in a user with client-side password
 encryption (this conversation must be handled in a timely fasion, since
 there is a timer starting when getPasswordHashKey is called, and ending
 when this method is called. The time between these method calls cannot
 exceed the value of maxAuthenticationWait in milliseconds):
 1) Client calls canClientEncryptPasswords
 2) If canClientEncryptPasswords returns false, client should use
 https and send the password as cleartext. Currently, only the
 MD5PasswordHasher is a supported for encrypted passwords. Client should
 call loginUser(login, cleartext_password, false)
 3) If canClientEncryptPasswords returns true, client
 calls getPasswordHashAlgorithm
 4) Client encrypts the user's password using the rules required by
 the returned algorithm. These rules vary depending on the password
 hasher being used for a given application. Consult the documentation
 for specifics. 
 5) Client calls getPasswordHashKey - note that the conversation
 timer is started here. Clients have maxAuthenticationWait
 milliseconds to call loginUser. If loginUser is not
 called quickly enough, an error is thrown when it is eventually
 called
 6) Client further encrypts the user's password using the returned
 hash key. The order and manner in which this encryption occurs is
 based on the rules of the password hasher being used. Consult
 the documentation for specifics.
 7) Client calls
 loginUser(login, encrypted_password_from_step_6, true)
 As you can see, encrypting passwords on the client side is tricky, and
 not 100% safe. It is strongly recommended that you call this service
 using https and cleartext passwords
 
 This method calls preLogin,
 doLoginUser , and
 postLoginUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
The following request parameters are set in this method:
LOGIN_PARAM - the login of the user
 PASSWORD_PARAM - the password of the user
 PUSH_REALM_PARAM - the profile realm of the user
 PUSH_SITE_PARAM - the site to log in the user to
 If this method is called by a user that is already logged in, then that user's login is returned (assuming the credentials match)
pLogin - the login of the user. This argument cannot be nullpPassword - the password of the user to login. This argument
 can be nullpPushRealm - the realm the user is a part ofpPushSite - the site to log in the user topIsPasswordEncrypted - true if the given password is
 encrypted according to the rules above, false if the password
 is cleartext
javax.servlet.ServletException - if any of the following errors occur:
 pLogin is null
 
protected void preLoginUser(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse)
                     throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameters:
 LOGIN_PARAM - the login of the user
 PASSWORD_PARAM - the password of the user
HASHKEY_PARAM - the hashkey that was given to
 the client if they called getPasswordHashKey. Note
 that this only applies in the case that the client signaled that
 this authentication attempt used an encrypted password
 pResponse - the current response
javax.servlet.ServletException - if any of the following occur:
 
protected void preLoginUser(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse,
                            boolean pTrusted)
                     throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameters:
 LOGIN_PARAM - the login of the user
pResponse - the current responsepTrusted - True is the user is trusted, false if the user is not trusted
javax.servlet.ServletException - if any of the following occur:
 
protected void doLoginUser(DynamoHttpServletRequest pRequest,
                           DynamoHttpServletResponse pResponse)
                    throws javax.servlet.ServletException
propertiesToCopyOnLogin or
 propertiesToAddOnLogin are set, then those properties
 will be copied/added from the un-logged in profile to the logged-in
 profile
pRequest - the current request, expected to have the following
 parameters:
 LOGIN_PARAM - the login of the user
 PASSWORD_PARAM - the password of the user
HASHKEY_PARAM - the hashkey that was given to
 the client if they called getPasswordHashKey. Note
 that this only applies in the case that the client signaled that
 this authentication attempt used an encrypted password
 pResponse - the current response
javax.servlet.ServletException - if the password used to login is incorrect,
 or an error occurs doing repository operations associated with logging
 in
protected void doLoginUser(DynamoHttpServletRequest pRequest,
                           DynamoHttpServletResponse pResponse,
                           boolean pTrusted)
                    throws javax.servlet.ServletException
propertiesToCopyOnLogin or
 propertiesToAddOnLogin are set, then those properties
 will be copied/added from the un-logged in profile to the logged-in
 profile
pRequest - the current request, expected to have the following
 parameters:
 LOGIN_PARAM - the login of the user
pResponse - the current responsepTrusted - True is the user is trusted, false if the user is not trusted
javax.servlet.ServletException
protected void postLoginUser(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse)
                      throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameters:
 LOGIN_PARAM - the login of the user
 PASSWORD_PARAM - the password of the user
HASHKEY_PARAM - the hashkey that was given to
 the client if they called getPasswordHashKey. Note
 that this only applies in the case that the client signaled that
 this authentication attempt used an encrypted password
 pResponse - the current response
javax.servlet.ServletException - if there is a problem sending cookies,
 or changing the security status
protected void postLoginUser(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse,
                             boolean pTrusted)
                      throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameters:
 LOGIN_PARAM - the login of the user
pResponse - the current responsepTrusted - True is the user is trusted, false if the user is not trusted
javax.servlet.ServletException - if there is a problem sending cookies,
 or changing the security status
public void logoutUser()
                throws javax.servlet.ServletException
 This method calls preLogoutUser,
 doLogoutUser , and
 postLogoutUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
javax.servlet.ServletException - if this method is not called within
 the context of a request, or is propagated up from preLogoutUser,
 doLogoutUser, or postLogoutUser
protected void preLogoutUser(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse)
                      throws javax.servlet.ServletException
 If logout events are to be fired (generateLogoutEvents is
 true), the following request parameter is set in this method
 LOGOUT_ID_PARAM - the id of the person that is being
 logged out. This needs to be saved so we can fire the event after
 the person is sucessfully logged out
pRequest - the current requestpResponse - the current response
javax.servlet.ServletException - if we're setting up a logout event and
 there is no current profile to get the id from
protected void doLogoutUser(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse)
                     throws javax.servlet.ServletException
pRequest - the current request, which could have the following
 parameter:
 LOGOUT_ID_PARAM - the id of the person that is being
 logged out
pRequest - the current requestpResponse - the current response
javax.servlet.ServletException - if a user-defined error occurs
protected void postLogoutUser(DynamoHttpServletRequest pRequest,
                              DynamoHttpServletResponse pResponse)
                       throws javax.servlet.ServletException
pRequest - the current request, which could have the following
 parameter:
 LOGOUT_ID_PARAM - the id of the person that is being
 logged out
pResponse - the current response
javax.servlet.ServletException - in the case where we do not
 expire the current session, and get an error trying to create a new
 RepositoryItem for the profile's data source
public java.lang.String createUser(java.lang.String pProfileAsXML)
                            throws javax.servlet.ServletException
pProfileAsXML. It's intended that this service be
 used by users to create their own profile, and certain session
 actions will take place based on that assumption i.e. cookie handling,
 locale changing, etc. Admins that want to create other users' profiles
 should use adminCreateUserService,
 and not this method.
 
 This method calls preCreateUser,
 doCreateUser , and
 postCreateUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
 The following request parameter is set in this method
 XML_ITEM_PARAM - the current Repo2Xml item
 that is being created
pProfileAsXML - the profile of the new persistent
 user. NOTE: Any password present in this XML should not
 have been pre-encrypted by the client. It will be encrypted
 in this operation. This argument may not be null
javax.servlet.ServletException - if any of the following occurs:
 pProfileAsXML argument is null or empty
 
protected void preCreateUser(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse)
                      throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameter:
   XML_ITEM_PARAM - the current item that is to be created
pResponse - the current response
javax.servlet.ServletException - if an error occurs.
protected void doCreateUser(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse)
                     throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameter:
   XML_ITEM_PARAM - the current item that is to be created
pResponse - the current response
javax.servlet.ServletException - if any of the following errors occur:
 pRequest
 
protected void postCreateUser(DynamoHttpServletRequest pRequest,
                              DynamoHttpServletResponse pResponse)
                       throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameter:
   XML_ITEM_PARAM - the current item that is to be created
pResponse - the current response
javax.servlet.ServletException - if an error occurs
public boolean deleteUser(java.lang.String pProfileId)
                   throws javax.servlet.ServletException
pProfileId.
 It's intended that this service be used by users to delete their own
 profile.
 
 This method calls preDeleteUser,
 doDeleteUser , and
 postDeleteUser in turn
 
This method is expected to be called in the context of an HTTP request. Also, a transaction is required when executing this method. If no transaction is in place, a new one is started and committed before this method returns.
 The following request parameter is set in this method
 UPDATE_ID_PARAM - the id of the profile that is to be
 deleted
pProfileId - the profile of the user to delete. This argument
 may not be null
javax.servlet.ServletException - if any of the following occurs:
 pProfileId argument is null or empty
 
protected void preDeleteUser(DynamoHttpServletRequest pRequest,
                             DynamoHttpServletResponse pResponse)
                      throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameter:
   UPDATE_ID_PARAM - the id of the user to be deleted
pResponse - the current response
javax.servlet.ServletException - if an error occurs.
protected void postDeleteUser(DynamoHttpServletRequest pRequest,
                              DynamoHttpServletResponse pResponse)
                       throws javax.servlet.ServletException
pRequest - the current request, expected to have the following
 parameter:
   UPDATE_ID_PARAM - the id of the user to be deleted
pResponse - the current response
javax.servlet.ServletException - if an error occurs.
protected void doDeleteUser(DynamoHttpServletRequest pRequest,
                            DynamoHttpServletResponse pResponse)
                     throws javax.servlet.ServletException
createProfileType property
pRequest - the current request, expected to have the following
 parameter:
   UPDATE_ID_PARAM - the id of the user to be deleted
pResponse - the current response
javax.servlet.ServletException - if any of the following errors occur:
 pRequest
 
public java.lang.String getPasswordHashKey()
                                    throws javax.servlet.ServletException
profileTools property. If this PasswordHasher
 does not support adding hashkeys for extra encryption, this method
 will return null and any web service clients using this call during
 a login conversation should not encrypt their passwords i.e. use
 https. In the case where a non-null hashkey is generated, this method
 starts the login conversation for a login attempt with an encrypted
 password.
javax.servlet.ServletException - if we're already in the middle of a
 login conversation and we've exceeded the conversation time limit, as
 specified by maxAuthenticationWait
public java.lang.String getPasswordHashAlgorithm()
                                          throws javax.servlet.ServletException
javax.servlet.ServletExceptionpublic boolean canClientEncryptPasswords()
public void updateXMLItem(java.lang.String pItemAsXML,
                          java.lang.String[] pMatchedProperties)
                   throws RepositoryException
pItemAsXML - the item to update in XML format. The name of the
 repository and the item's type are present in the XML format, so
 those do not need to be supplied as arguments. This method will determine
 which known RepositoryItem to update based on the values of the
 properties listed in pMatchedProperties present in the
 pItemAsXML, or if that argument is null, the repositoryId
 will be used to match items. If there is no existing item which matches
 those property values, then the item will be added to the repository
 if the xmlUpdateService
 component has its addWhenNoMatchedItems flag set to true.pMatchedProperties - an array of property names that will be used
 to match up values between the given pItemAsXML and an
 existing RepositoryItem object (note: use "repositoryId" to specify
 the matching of ids)
RepositoryException - if an error occurs updating the item
 in the repository
public java.lang.String getXMLItem(RepositoryItem pItem,
                                   Repository pRepository,
                                   java.lang.String pItemDescriptorName,
                                   java.lang.String pMappingFile)
                            throws RepositoryException
pItem - the item to transformpRepository - the repository that holds
 the item, used to determine a mapping filepItemDescriptorName - the name of the item descriptor that describes
 the given item, used to determine a mapping filepMappingFile - the mapping file to use when turning the item
 into an XML document
RepositoryException - if an error occurs transforming the item
public RepositoryItem addXMLItem(java.lang.String pItemAsXML,
                                 boolean pPersist)
                          throws RepositoryException
pItemAsXML - the item to add or createpPersist - if true, the given item will be added, otherwise
 it will just be created
RepositoryException - if an error occurs adding or creating
 the item
public java.lang.String getMappingFile(Repository pRepository,
                                       java.lang.String pItemDescriptorName)
pRepository - the repository that contains
 the given item descriptorpItemDescriptorName - the name of the item descriptor to get the
 mapping file for
public RepositoryItem getRepositoryItemFromXML(java.lang.String pItemAsXML)
                                        throws RepositoryException
pItemAsXML - the repository item in XML form
pItemAsXML, or null if no such object is
 found
RepositoryException
public RepositoryItem getRepositoryItemFromXML(java.lang.String pItemAsXML,
                                               java.lang.String[] pMatchedProperties)
                                        throws RepositoryException
pItemAsXML - the repository item in XML formpMatchedProperties - an array of property names whose
 values are used to find the pItemAsXML objects match in the
 repository
pItemAsXML, or null if no such object is
 found
RepositoryExceptionprotected javax.transaction.Transaction ensureTransaction()
protected void commitTransaction()
public void doStartService()
                    throws ServiceException
doStartService in class GenericServiceServiceException - if there is no ProfileTools component
 to be foundpublic PasswordHasher getLoginPasswordHasher()
public java.lang.String getCurrentProfileId()
public Profile getCurrentProfile()
public void updateLDAPProfileAttributes(MutableRepositoryItem pItem)
                                 throws RepositoryException
pItem - the item to change values on
RepositoryException
public void copyProperties(RepositoryItem pGuestUser,
                           RepositoryItem pAuthenticatedUser,
                           java.lang.String[] pPropertiesToCopy)
                    throws RepositoryException
pPropertiesToCopy from
 the pGuestUser to the pAuthenticatedUser
pGuestUser - the user to get values frompAuthenticatedUser - the user to copy values topPropertiesToCopy - the properties that should be copied
RepositoryException - if an error occurs updating
 the authenticated user
public void addProperties(RepositoryItem pGuestUser,
                          RepositoryItem pAuthenticatedUser,
                          java.lang.String[] pPropertiesToAdd)
                   throws RepositoryException
pGuestUser - the user to copy values frompAuthenticatedUser - the user to copy values topPropertiesToAdd - names of multi-valued properties whose
 values should be added from the guest to the authenticated user
RepositoryException - if an error occurs updating the
 authenticated user with the added properties
public void addProperty(java.lang.String pPropertyName,
                        RepositoryItem pGuestUser,
                        RepositoryItem pAuthenticatedUser)
                 throws RepositoryException
pGuestUser - the user to copy values frompAuthenticatedUser - the user to copy values topPropertyName - the name of a multi-valued property whose values
 will be copied from the guest user and added to the authenticated user
RepositoryExceptionpublic void addUpdateListener(atg.userprofiling.ProfileUpdateListener pListener)
pListener - the listener to addpublic void removeUpdateListener(atg.userprofiling.ProfileUpdateListener pListener)
pListener - the listener to removepublic void sendUpdateEvent(atg.userprofiling.ProfileUpdateEvent pEvent)
pEvent - the event to send
public void encryptPassword(MutableRepositoryItem pProfile)
                     throws RepositoryException
pProfile - the profile to encrypt the password of
RepositoryExceptionpublic boolean endOperation(DynamoHttpServletRequest pRequest)
pRequest - the request to examine
public java.lang.Object endOperationValue(DynamoHttpServletRequest pRequest)
pRequest - the request to be examined
public void sendProfileSwapEvent(int pEventType,
                                 RepositoryItem pPreSwapItem,
                                 RepositoryItem pPostSwapItem)
pEventType - the type of operation that was performed when
 the profiles were swappedpPreSwapItem - the data source of the profile before the
 swap was performedpPostSwapItem - the data source of the profile after the
 swap was performedpublic java.lang.String pushRealmFromRequest(DynamoHttpServletRequest pRequest)
public boolean popRealm(java.lang.String pRealmId)
| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||