atg.userprofiling
Class ProfileRequestTools

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.userprofiling.ProfileRequestTools
All Implemented Interfaces:
atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, java.util.EventListener

public class ProfileRequestTools
extends GenericService

Component that provides methods related to auto login. Methods originally in ProfileRequestServlet. Moved here so that they could be shared.


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.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
ProfileRequestTools()
           
 
Method Summary
 void initAnonymousProfile(MutableRepositoryItem pUser, ProfileTools profileTools)
          This method is intended to be used when an anonymous persistent profile is created and unique attributes of the profile must be set before the user is initially commited to the database.
 void setTemporaryRequiredPropertyValue(MutableRepositoryItem pUser, DynamicPropertyDescriptor pPropertyDescriptor, ProfileTools profileTools)
          Sets the required user property to some temporary value.
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
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

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string

Constructor Detail

ProfileRequestTools

public ProfileRequestTools()
Method Detail

initAnonymousProfile

public void initAnonymousProfile(MutableRepositoryItem pUser,
                                 ProfileTools profileTools)
                          throws RepositoryException
This method is intended to be used when an anonymous persistent profile is created and unique attributes of the profile must be set before the user is initially commited to the database. This implementation currently sets the login and password properties, only if null, to the new user's id (item's RepositoryId). Dynamo's default profile schema requires a login and password to be set. If your application requires additional attributes to be set, override the setTemporaryRequiredPropertyValue method. This code should only perform setPropertyValue calls. The update (commit) of the changes will occur after this method is invoked.

If sendLoginEventForNewPersistentAnonymousProfiles is true, this implementation also fires a login event.

Parameters:
pUser - the profile of the new user to update before being committed to the database
Throws:
RepositoryException - if an error occured during the update of the RepositoryItem

setTemporaryRequiredPropertyValue

public void setTemporaryRequiredPropertyValue(MutableRepositoryItem pUser,
                                              DynamicPropertyDescriptor pPropertyDescriptor,
                                              ProfileTools profileTools)
                                       throws RepositoryException
Sets the required user property to some temporary value. This is used in conjunction with persistent anonymous profiles. If the default implementation of setting the login and password properties is not sufficient, override this method and provide your own default value for the your required properties NOTE: This implementation assumes that both login and password are String properties and are large enough to contain as many characters as is in the repository id for pUser

Parameters:
pUser - the user to set the values on
pPropertyDescriptor - the descriptor of the property that is required to be set
Throws:
RepositoryException - if a problem occurs while attempting to set property values