|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object atg.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_VERSION
Class 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, 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 pPropertiesToCopy from
the pGuestUser to the pAuthenticatedUser |
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 |
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 badPasswordDelay
DEFAULT: 1000 (1 second) |
java.lang.String |
getCreateProfileType()
Get property createProfileType
DEFAULT: 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 loginProfileType
DEFAULT: user |
java.lang.String |
getLogoutProfileType()
Get property logoutProfileType
DEFAULT: 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 mappingManager
DEFAULT: null |
long |
getMaxAuthenticationWait()
Get property maxAuthenticationWait
DEFAULT: 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 profilePath
DEFAULT: /atg/userprofiling/Profile |
ProfileTools |
getProfileTools()
Get property profileTools
DEFAULT: null |
java.lang.String[] |
getPropertiesToAddOnLogin()
Get property propertiesToAddOnLogin
DEFAULT: null |
java.lang.String[] |
getPropertiesToCopyOnLogin()
Get property propertiesToCopyOnLogin
DEFAULT: 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 RequestLocalePath
DEFAULT: /atg/dynamo/servlet/RequestLocale |
javax.transaction.TransactionManager |
getTransactionManager()
Get property transactionManager
DEFAULT: null |
atg.userprofiling.ProfileUpdateListener[] |
getUpdateEventListeners()
Get property UpdateEventListeners
DEFAULT: null |
AddService |
getXmlAddService()
Get property XmlAddService
DEFAULT: null |
GetService |
getXmlGetService()
Get property xmlGetService
DEFAULT: 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 xmlUpdateService
DEFAULT: null |
boolean |
isAllowEncryptedPasswords()
Get property AllowEncryptedPasswords
DEFAULT: true |
boolean |
isExpireSessionOnLogout()
Get property expireSessionOnLogout
DEFAULT: true |
boolean |
isGenerateLoginEvents()
Get property GenerateLoginEvents
DEFAULT: true |
boolean |
isGenerateLogoutEvents()
Get property GenerateLogoutEvents
DEFAULT: true |
boolean |
isGenerateRegisterEvents()
Get property GenerateRegisterEvents
DEFAULT: true |
boolean |
isGenerateUpdateEvents()
Get property GenerateUpdateEvents
DEFAULT: true |
boolean |
isUseDefaultMappings()
Get property UseDefaultMappings
DEFAULT: true |
boolean |
isUsingLDAPProfile()
Get property usingLDAPProfile
DEFAULT: false |
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. |
void |
logoutUser()
Logs out the current user. |
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 |
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 |
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. |
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 AllowEncryptedPasswords
DEFAULT: true |
void |
setBadPasswordDelay(long pBadPasswordDelay)
Set property badPasswordDelay
DEFAULT: 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 createProfileType
DEFAULT: user |
void |
setExpireSessionOnLogout(boolean pExpireSessionOnLogout)
Set property expireSessionOnLogout
DEFAULT: true |
void |
setGenerateLoginEvents(boolean pGenerateLoginEvents)
Set property GenerateLoginEvents
DEFAULT: true |
void |
setGenerateLogoutEvents(boolean pGenerateLogoutEvents)
Set property GenerateLogoutEvents
DEFAULT: true |
void |
setGenerateRegisterEvents(boolean pGenerateRegisterEvents)
Set property GenerateRegisterEvents
DEFAULT: true |
void |
setGenerateUpdateEvents(boolean pGenerateUpdateEvents)
Set property GenerateUpdateEvents
DEFAULT: 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 loginProfileType
DEFAULT: user |
void |
setLogoutProfileType(java.lang.String pLogoutProfileType)
Set property logoutProfileType
DEFAULT: user |
void |
setMappingManager(atg.repository.xml.ItemDescriptorMappingManager pMappingManager)
Set property mappingManager
DEFAULT: null |
void |
setMaxAuthenticationWait(long pMaxAuthenticationWait)
Set property maxAuthenticationWait
DEFAULT: 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 profilePath
DEFAULT: /atg/userprofiling/Profile |
void |
setProfileTools(ProfileTools pProfileTools)
Set property profileTools
DEFAULT: null |
void |
setPropertiesToAddOnLogin(java.lang.String[] pPropertiesToAddOnLogin)
Set property propertiesToAddOnLogin
DEFAULT: null |
void |
setPropertiesToCopyOnLogin(java.lang.String[] pPropertiesToCopyOnLogin)
Set property propertiesToCopyOnLogin
DEFAULT: null |
void |
setRequestLocalePath(java.lang.String pRequestLocalePath)
Set property RequestLocalePath
DEFAULT: /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 transactionManager
DEFAULT: null |
void |
setUpdateEventListeners(atg.userprofiling.ProfileUpdateListener[] pUpdateEventListeners)
Set property UpdateEventListeners
DEFAULT: null |
void |
setUseDefaultMappings(boolean pUseDefaultMappings)
Set property UseDefaultMappings
DEFAULT: true |
void |
setUsingLDAPProfile(boolean pUsingLDAPProfile)
Set property usingLDAPProfile
DEFAULT: false |
void |
setXmlAddService(AddService pXmlAddService)
Set property XmlAddService
DEFAULT: null |
void |
setXmlGetService(GetService pXmlGetService)
Set property xmlGetService
DEFAULT: null |
void |
setXmlUpdateService(UpdateService pXmlUpdateService)
Set property xmlUpdateService
DEFAULT: 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, 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 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 requestpublic 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 passwordprotected 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 hereprotected 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 herepublic 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 itempublic 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 methodpublic 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 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
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 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
inprotected 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 statuspublic 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 postLogoutUserprotected 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 fromprotected 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 occursprotected 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 sourcepublic 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 occurspublic 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.ServletException
public 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 repositorypublic 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 itempublic 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 itempublic 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
RepositoryException
protected javax.transaction.Transaction ensureTransaction()
protected void commitTransaction()
public void doStartService() throws ServiceException
doStartService
in class GenericService
ServiceException
- 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 userpublic 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 propertiespublic 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
RepositoryException
public 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 sendpublic void encryptPassword(MutableRepositoryItem pProfile) throws RepositoryException
pProfile
- the profile to encrypt the password of
RepositoryException
public 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 performed
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |