org.apache.axis2.context
Class ConfigurationContext

java.lang.Object
  extended by org.apache.axis2.context.AbstractContext
      extended by org.apache.axis2.context.ConfigurationContext

public class ConfigurationContext
extends AbstractContext

Axis2 states are held in two information models, called description hierarchy and context hierarchy. Description hierarchy hold deployment configuration and it's values does not change unless deployment configuration change occurs where Context hierarchy hold run time information. Both hierarchies consists four levels, Global, Service Group, Operation and Message. Please look at "Information Model" section of "Axis2 Architecture Guide" for more information.

Configuration Context hold Global level run-time information. This allows same configurations to be used by two Axis2 instances and most Axis2 wide configurations can changed by setting name value pairs of the configurationContext. This hold all OperationContexts, ServiceGroups, Sessions, and ListenerManager.


Field Summary
protected  java.util.List contextListeners
           
 
Fields inherited from class org.apache.axis2.context.AbstractContext
COPY_PROPERTIES, lastTouchedTime, parent, properties
 
Constructor Summary
ConfigurationContext(AxisConfiguration axisConfiguration)
          Constructor
 
Method Summary
 void addContextListener(ContextListener contextListener)
          Register a ContextListener to be notified of all sub-context events.
 void addServiceGroupContextIntoApplicationScopeTable(ServiceGroupContext serviceGroupContext)
          Adds the given ServiceGroupContext into the Application Scope table
 void addServiceGroupContextIntoSoapSessionTable(ServiceGroupContext serviceGroupContext)
          Adds the given ServiceGroupContext into the SOAP session table
 void cleanupContexts()
          Called during shutdown to clean up all Contexts
 MessageContext createMessageContext()
          Create a MessageContext, and notify any registered ContextListener.
 ServiceGroupContext createServiceGroupContext(AxisServiceGroup serviceGroup)
          Create a ServiceGroupContext for the specified service group, and notify any registered ContextListener.
 void deployService(AxisService service)
          Deploy a service to the embedded AxisConfiguration, and initialize it.
 void fillServiceContextAndServiceGroupContext(MessageContext messageContext)
          Searches for a ServiceGroupContext in the map with given id as the key.
 OperationContext findOperationContext(java.lang.String operationName, java.lang.String serviceName, java.lang.String serviceGroupName)
          Finds the OperationContext given the Operation name, Service Name, and ServiceGroupName
 AxisConfiguration getAxisConfiguration()
          Returns the AxisConfiguration
 java.lang.String getContextRoot()
          Retrieves the ContextRoot
 ListenerManager getListenerManager()
          Retrieve the ListenerManager
 OperationContext getOperationContext(java.lang.String id)
          Gets a OperationContext given a Message ID.
 java.io.File getRealPath(java.lang.String path)
          Allows users to resolve the path relative to the root directory.
 ConfigurationContext getRootContext()
           
 java.lang.String getServiceContextPath()
          Retrieves the ServiceContext path
 ServiceGroupContext getServiceGroupContext(java.lang.String serviceGroupCtxId)
          Returns a ServiceGroupContext object associated with the specified ID from the internal table.
 ServiceGroupContext getServiceGroupContextFromSoapSessionTable(java.lang.String serviceGroupContextId, MessageContext msgContext)
          Retrieve the ServiceGroupContext from the SOAP session table
 java.lang.String[] getServiceGroupContextIDs()
          Gets all service groups in the system.
 java.util.Hashtable getServiceGroupContexts()
          Deprecated. Use getServiceGroupContextIDs() & getServiceGroupContext(String)
 long getServiceGroupContextTimoutInterval()
          This will be used to fetch the serviceGroupContextTimoutInterval from any place available.
 java.lang.String getServicePath()
          Retrieves the ServicePath
 ThreadFactory getThreadPool()
          Returns the thread factory.
 void initCluster()
          Initializes the ClusterManager for this ConfigurationContext
 boolean isAnyOperationContextRegistered()
           
 boolean registerOperationContext(java.lang.String messageID, OperationContext mepContext)
          Registers a OperationContext with a given message ID.
 boolean registerOperationContext(java.lang.String messageID, OperationContext mepContext, boolean override)
          Registers a OperationContext with a given message ID.
 void removeContextListener(ContextListener contextListener)
          Remove an already registered ContextListener
 void removeServiceGroupContext(AxisServiceGroup serviceGroup)
          Removes the given ServiceGroup from the ServiceGroup context
 void removeServiceGroupContext(java.lang.String serviceGroupContextId)
          Remove a ServiceGroupContext
 void setAxisConfiguration(AxisConfiguration configuration)
          Set the AxisConfiguration to the specified configuration
 void setContextRoot(java.lang.String contextRoot)
          Sets the context root to the given string
 void setServicePath(java.lang.String servicePath)
          Sets the ServicePath to the given string
 void setThreadPool(ThreadFactory pool)
          Sets the thread factory.
 void setTransportManager(ListenerManager listenerManager)
          Set the TransportManager to the given ListenerManager
 void terminate()
          Invoked during shutdown to stop the ListenerManager and perform configuration cleanup
 void unregisterOperationContext(java.lang.String key)
          Unregisters the operation context associated with the given messageID
 
Methods inherited from class org.apache.axis2.context.AbstractContext
clearPropertyDifferences, flush, getLastTouchedTime, getLocalProperty, getParent, getProperties, getProperty, getPropertyDifferences, getPropertyNames, getPropertyNonReplicable, isAncestor, mergeProperties, removeProperty, removePropertyNonReplicable, setLastTouchedTime, setNonReplicableProperty, setParent, setProperties, setProperty, touch
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

contextListeners

protected java.util.List contextListeners
Constructor Detail

ConfigurationContext

public ConfigurationContext(AxisConfiguration axisConfiguration)
Constructor

Parameters:
axisConfiguration - - AxisConfiguration for which to create a context
Method Detail

initCluster

public void initCluster()
                 throws AxisFault
Initializes the ClusterManager for this ConfigurationContext

Throws:
AxisFault

addContextListener

public void addContextListener(ContextListener contextListener)
Register a ContextListener to be notified of all sub-context events.

Parameters:
contextListener - A ContextListener
See Also:
removeContextListener(org.apache.axis2.context.ContextListener)

removeContextListener

public void removeContextListener(ContextListener contextListener)
Remove an already registered ContextListener

Parameters:
contextListener - A ContextListener
See Also:
addContextListener(org.apache.axis2.context.ContextListener)

fillServiceContextAndServiceGroupContext

public void fillServiceContextAndServiceGroupContext(MessageContext messageContext)
                                              throws AxisFault
Searches for a ServiceGroupContext in the map with given id as the key.
 If(key != null && found)
 check for a service context for the intended service.
 if (!found)
 create one and hook up to ServiceGroupContext
 else
 create new ServiceGroupContext with the given key or if key is null with a new key
 create a new service context for the service
 

Parameters:
messageContext - : MessageContext
Throws:
AxisFault - : If something goes wrong

registerOperationContext

public boolean registerOperationContext(java.lang.String messageID,
                                        OperationContext mepContext)
Registers a OperationContext with a given message ID. If the given message id already has a registered operation context, no change is made and the method returns false.

Parameters:
messageID -
mepContext -

registerOperationContext

public boolean registerOperationContext(java.lang.String messageID,
                                        OperationContext mepContext,
                                        boolean override)
Registers a OperationContext with a given message ID. If the given message id already has a registered operation context, no change is made unless the override flag is set.

Parameters:
messageID -
mepContext -
override -

unregisterOperationContext

public void unregisterOperationContext(java.lang.String key)
Unregisters the operation context associated with the given messageID

Parameters:
key -

isAnyOperationContextRegistered

public boolean isAnyOperationContextRegistered()

addServiceGroupContextIntoSoapSessionTable

public void addServiceGroupContextIntoSoapSessionTable(ServiceGroupContext serviceGroupContext)
Adds the given ServiceGroupContext into the SOAP session table

Parameters:
serviceGroupContext - ServiceGroup Context to add

addServiceGroupContextIntoApplicationScopeTable

public void addServiceGroupContextIntoApplicationScopeTable(ServiceGroupContext serviceGroupContext)
Adds the given ServiceGroupContext into the Application Scope table

Parameters:
serviceGroupContext - The Service Group Context to add

deployService

public void deployService(AxisService service)
                   throws AxisFault
Deploy a service to the embedded AxisConfiguration, and initialize it.

Parameters:
service - service to deploy
Throws:
AxisFault - if there's a problem

getAxisConfiguration

public AxisConfiguration getAxisConfiguration()
Returns the AxisConfiguration

Returns:
Returns AxisConfiguration

getOperationContext

public OperationContext getOperationContext(java.lang.String id)
Gets a OperationContext given a Message ID.

Parameters:
id -
Returns:
Returns OperationContext OperationContext

findOperationContext

public OperationContext findOperationContext(java.lang.String operationName,
                                             java.lang.String serviceName,
                                             java.lang.String serviceGroupName)
Finds the OperationContext given the Operation name, Service Name, and ServiceGroupName

Parameters:
operationName - - OperationName to find
serviceName - - ServiceName to find
serviceGroupName - - ServiceGroupName to find
Returns:
Returns OperationContext OperationContext

createMessageContext

public MessageContext createMessageContext()
Create a MessageContext, and notify any registered ContextListener.

Returns:
a new MessageContext

createServiceGroupContext

public ServiceGroupContext createServiceGroupContext(AxisServiceGroup serviceGroup)
Create a ServiceGroupContext for the specified service group, and notify any registered ContextListener.

Parameters:
serviceGroup - an AxisServiceGroup
Returns:
a new ServiceGroupContext

getRealPath

public java.io.File getRealPath(java.lang.String path)
Allows users to resolve the path relative to the root directory.

Parameters:
path -
Returns:

getServiceGroupContextFromSoapSessionTable

public ServiceGroupContext getServiceGroupContextFromSoapSessionTable(java.lang.String serviceGroupContextId,
                                                                      MessageContext msgContext)
                                                               throws AxisFault
Retrieve the ServiceGroupContext from the SOAP session table

Parameters:
serviceGroupContextId - Service Group Context ID to search on
msgContext - Message Context to search on
Returns:
Returns a ServiceGroupContext
Throws:
AxisFault - if ServiceGroupContext cannot be found

getServiceGroupContext

public ServiceGroupContext getServiceGroupContext(java.lang.String serviceGroupCtxId)
Returns a ServiceGroupContext object associated with the specified ID from the internal table.

Parameters:
serviceGroupCtxId - The ID string associated with the ServiceGroupContext object
Returns:
The ServiceGroupContext object, or null if not found

getServiceGroupContextIDs

public java.lang.String[] getServiceGroupContextIDs()
Gets all service groups in the system.

Returns:
Returns hashmap of ServiceGroupContexts.

getServiceGroupContexts

public java.util.Hashtable getServiceGroupContexts()
Deprecated. Use getServiceGroupContextIDs() & getServiceGroupContext(String)

Returns:
The ServiceGroupContexts

getThreadPool

public ThreadFactory getThreadPool()
Returns the thread factory.

Returns:
Returns configuration specific thread pool

setAxisConfiguration

public void setAxisConfiguration(AxisConfiguration configuration)
Set the AxisConfiguration to the specified configuration

Parameters:
configuration -

setThreadPool

public void setThreadPool(ThreadFactory pool)
                   throws AxisFault
Sets the thread factory.

Parameters:
pool - The thread pool
Throws:
AxisFault - If a thread pool has already been set

removeServiceGroupContext

public void removeServiceGroupContext(java.lang.String serviceGroupContextId)
Remove a ServiceGroupContext

Parameters:
serviceGroupContextId - The ID of the ServiceGroupContext

getListenerManager

public ListenerManager getListenerManager()
Retrieve the ListenerManager

Returns:
Returns the ListenerManager

setTransportManager

public void setTransportManager(ListenerManager listenerManager)
Set the TransportManager to the given ListenerManager

Parameters:
listenerManager - The ListenerManager for which to set the TransportManager

cleanupContexts

public void cleanupContexts()
Called during shutdown to clean up all Contexts


terminate

public void terminate()
               throws AxisFault
Invoked during shutdown to stop the ListenerManager and perform configuration cleanup

Throws:
AxisFault

getServiceContextPath

public java.lang.String getServiceContextPath()
Retrieves the ServiceContext path

Returns:
path to the ServiceContext

getServicePath

public java.lang.String getServicePath()
Retrieves the ServicePath

Returns:
The path to the Service

setServicePath

public void setServicePath(java.lang.String servicePath)
Sets the ServicePath to the given string

Parameters:
servicePath - The service path for which to set

getContextRoot

public java.lang.String getContextRoot()
Retrieves the ContextRoot

Returns:
The ContextRoot

setContextRoot

public void setContextRoot(java.lang.String contextRoot)
Sets the context root to the given string

Parameters:
contextRoot - The context root for which to set

getServiceGroupContextTimoutInterval

public long getServiceGroupContextTimoutInterval()
This will be used to fetch the serviceGroupContextTimoutInterval from any place available.

Returns:
long

removeServiceGroupContext

public void removeServiceGroupContext(AxisServiceGroup serviceGroup)
Removes the given ServiceGroup from the ServiceGroup context

Parameters:
serviceGroup -

getRootContext

public ConfigurationContext getRootContext()
Specified by:
getRootContext in class AbstractContext


Copyright © 2007 Apache Web Services Project. All Rights Reserved.