Class BusinessContextFacade
- java.lang.Object
-
- com.ibm.commerce.component.contextservice.util.BusinessContextFacade
-
public class BusinessContextFacade extends java.lang.Object
The facade singleton used to communicate with the business context service.
-
-
Field Summary
Fields Modifier and Type Field and Description static java.lang.String
COPYRIGHT
IBM copyright notice field.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description ActivityToken
begin(com.ibm.commerce.component.contextservice.ActivityData initData)
This method creates an activity with the given initialization data.ActivityToken
begin(java.lang.String logonId, java.lang.String pwd, com.ibm.commerce.component.contextservice.ActivityData initData)
This method returns an activity for a given valid user logon ID and password.void
complete(ActivityToken token)
This method completes a given activity.ActivityToken
copyActivity(ActivityToken currentToken, com.ibm.commerce.component.contextservice.ActivityData sessionData)
This method creates a new activity based on the contexts associated with a given token and session data.ActivityToken
createTransientClonedActivity(ActivityToken oldToken)
Reserved for IBM internal use.void
endRequest(ActivityToken token)
Reserved for IBM internal use.void
expire(ActivityToken token)
Reserved for IBM internal use.ActivityToken
findActivityTokenForUserAndStore(java.lang.Long callerId, java.lang.Integer storeId)
Reserved for IBM internal use.Context
findContext(ActivityToken token, java.lang.String strContextName)
This method finds the context with a given name that is associated with a given activity.void
flushCache()
Reserved for IBM internal use.java.util.Map
getContextMap(ActivityToken token)
Reserved for IBM internal use.java.util.List
getContextSPIs(ActivityToken token)
Reserved for IBM internal use.static BusinessContextFacade
getInstance()
This method returns theBusinessContextFacade
singleton.void
initialize()
Reserved for IBM internal use.boolean
isContextDirty(ActivityToken token)
Reserved for IBM internal use.boolean
isValidToken(ActivityToken token)
This method checks the validity of a given token.ActivityToken
resolveActivity(ActivityToken token, com.ibm.commerce.component.contextservice.ActivityData initData)
Reserved for IBM internal use.void
rollbackRequest(ActivityToken token)
Reserved for IBM internal use.void
setContextMap(ActivityToken token, java.util.Map ctxMap)
Reserved for IBM internal use.void
startRequest(ActivityToken token, com.ibm.commerce.component.contextservice.ActivityData sessionData)
Reserved for IBM internal use.void
stopActivities(java.lang.Long nUserId)
Reserved for IBM internal use.
-
-
-
Field Detail
-
COPYRIGHT
public static final java.lang.String COPYRIGHT
IBM copyright notice field.- See Also:
- Constant Field Values
-
-
Method Detail
-
initialize
public void initialize()
Reserved for IBM internal use.This method initializes this singleton.
-
getInstance
public static BusinessContextFacade getInstance()
This method returns theBusinessContextFacade
singleton.- Returns:
- the
BusinessContextFacade
singleton
-
begin
public ActivityToken begin(com.ibm.commerce.component.contextservice.ActivityData initData) throws BusinessContextServiceException
This method creates an activity with the given initialization data. Passes the initialization data down to theinitialize(ActivityToken, ActivityData)
method of each business context, where all the required parameters are extracted and used to populate the context.- Parameters:
initData
- the initialization data- Returns:
- a valid token for the new activity
- Throws:
BusinessContextServiceException
- on any error encountered
-
begin
public ActivityToken begin(java.lang.String logonId, java.lang.String pwd, com.ibm.commerce.component.contextservice.ActivityData initData) throws BusinessContextServiceException, BusinessContextServiceAuthenticationException
This method returns an activity for a given valid user logon ID and password.- Authenticates the user logon ID and password.
- If successful, checks whether an activity for the user already exists.
- If no such activity exists - this is the first request - creates a new activity.
- After an activity is found or created, updates the callerID and runAsID attributes of the activity.
- Parameters:
logonId
- the logon ID of the user who is trying to initiate an activitypwd
- the user's passwordinitData
- the initialization data- Returns:
- a valid token for the activity found or created
- Throws:
BusinessContextServiceAuthenticationException
- if the user cannot be authenticatedBusinessContextServiceException
- on any other error encountered
-
findContext
public Context findContext(ActivityToken token, java.lang.String strContextName) throws BusinessContextServiceException, BusinessContextNotFoundException
This method finds the context with a given name that is associated with a given activity.- Parameters:
token
- the activity tokenstrContextName
- the context name- Returns:
- the context;
null
if not found - Throws:
BusinessContextServiceException
- if any generic error occursBusinessContextNotFoundException
- if the specified context can not be loaded from the database
-
expire
public void expire(ActivityToken token) throws BusinessContextServiceException
Reserved for IBM internal use.This method marks a given activity as expired. Changes the status of the activity to
E
in the CTXMGMT table to indicate that the activity has expired.- Parameters:
token
- the activity token- Throws:
BusinessContextServiceException
- on any error encountered
-
complete
public void complete(ActivityToken token) throws BusinessContextServiceException
This method completes a given activity. Changes the status of the activity toT
in the CTXMGMT table to indicate that the activity is no longer active.- Parameters:
token
- the activity token- Throws:
BusinessContextServiceException
- on any error encountered
-
startRequest
public void startRequest(ActivityToken token, com.ibm.commerce.component.contextservice.ActivityData sessionData) throws BusinessContextServiceException
Reserved for IBM internal use.This method is called before request execution for any necessary setup. It, in turn, passes the session data down to the
preInvoke(ActivityData)
method of each business context associated with the given activity. The preInvoke(ActivityData) method extracts all the required parameters and updates the context.- Parameters:
token
- the activity tokensessionData
- the map of name-value pairs for the parameters that are passed in the request- Throws:
BusinessContextServiceException
- on any error encountered
-
endRequest
public void endRequest(ActivityToken token) throws BusinessContextServiceException
Reserved for IBM internal use.This method is called after request execution for any necessary cleanup. It, in turn, calls the
postInvoke(ActivityData)
method of each business context associated with the given activity.- Parameters:
token
- the activity token- Throws:
BusinessContextServiceException
- on any error encountered
-
rollbackRequest
public void rollbackRequest(ActivityToken token) throws BusinessContextServiceException
Reserved for IBM internal use.This method is called when a request is rolled back. It, in turn, calls the
reset()
method of each business context associated with the given activity.- Parameters:
token
- the activity token- Throws:
BusinessContextServiceException
- on any error encountered
-
copyActivity
public ActivityToken copyActivity(ActivityToken currentToken, com.ibm.commerce.component.contextservice.ActivityData sessionData) throws BusinessContextServiceException
This method creates a new activity based on the contexts associated with a given token and session data. Passes both arguments to theinitialize(ActivityToken, ActivityToken, ActivityData)
method of each business context, where the context is first initialized based on the input activity's context and then updated based on the session data.- Parameters:
currentToken
- the activity token of the input activitysessionData
- the name-value pairs for the parameters that are passed in the request- Returns:
- the activity token for the newly created activity
- Throws:
BusinessContextServiceException
- on any error encountered
-
resolveActivity
public ActivityToken resolveActivity(ActivityToken token, com.ibm.commerce.component.contextservice.ActivityData initData) throws BusinessContextServiceException
Reserved for IBM internal use.This method gets the valid activity token that is associated with a particular user and store. This method is mainly used when a user switches from one store to another.
- Parameters:
token
- an activity token that identifies the userinitData
- initialization data that identifies the store- Returns:
- the activity token if one exists;
null
otherwise - Throws:
BusinessContextServiceException
- on any error encountered
-
findActivityTokenForUserAndStore
public ActivityToken findActivityTokenForUserAndStore(java.lang.Long callerId, java.lang.Integer storeId) throws BusinessContextServiceException
Reserved for IBM internal use.This method finds an activity token for a particular caller and store.
- Parameters:
callerId
- the caller IDstoreId
- the store ID- Returns:
- the activity token if one exists;
null
otherwise - Throws:
BusinessContextServiceException
- on any error encountered
-
isValidToken
public boolean isValidToken(ActivityToken token) throws InvalidActivityTokenException
This method checks the validity of a given token.- Parameters:
token
- the token- Returns:
true
if the token is valid- Throws:
InvalidActivityTokenException
- if the token is not valid
-
getContextMap
public java.util.Map getContextMap(ActivityToken token) throws BusinessContextServiceException
Reserved for IBM internal use.This method gets a map of string representations of all the contexts associated with a given activity. This method is provided for generic user support.
- Parameters:
token
- the token that identifies the activity- Returns:
- the map of string representations of all the contexts associated with the activity
- Throws:
BusinessContextServiceException
- on any error encountered
-
setContextMap
public void setContextMap(ActivityToken token, java.util.Map ctxMap) throws BusinessContextServiceException
Reserved for IBM internal use.This method initializes the contexts of a given activity based on a map of string representations of all of the activity's contexts. This method is provided for generic user support.
- Parameters:
token
- the token that identifies the activityctxMap
- the map of string representations of all the contexts associated with the activity- Throws:
BusinessContextServiceException
- on any error encountered
-
isContextDirty
public boolean isContextDirty(ActivityToken token)
Reserved for IBM internal use.This method checks whether any of the contexts associated with a given token are dirty.
- Parameters:
token
- the token to check- Returns:
true
if any of the contexts are dirty;false
otherwise
-
createTransientClonedActivity
public ActivityToken createTransientClonedActivity(ActivityToken oldToken)
Reserved for IBM internal use.This method creates a transient cloned token from a given token. The resulting token is a transient object to be used within a request. Its contexts are copies of the input token's contexts.
- Parameters:
oldToken
- the token to be cloned- Returns:
- the transient cloned token created
-
stopActivities
public void stopActivities(java.lang.Long nUserId)
Reserved for IBM internal use.This method stops all activities for a given user.
- Parameters:
nUserId
- the ID of the user for whom all activities are to be stopped
-
flushCache
public void flushCache()
Reserved for IBM internal use.This method flushes all activities from the activity cache for the current thread. This method is called at the exit point of a request, when contexts are no longer required.
-
getContextSPIs
public java.util.List getContextSPIs(ActivityToken token)
Reserved for IBM internal use.This method gets all the context service provider interface objects that are associated with a given activity.
- Parameters:
token
- the token that identifies the activity- Returns:
- a list of the context service provider interface objects for the activity
-
-