org.apache.axis2.deployment
Class DeploymentEngine

java.lang.Object
  extended byorg.apache.axis2.deployment.DeploymentEngine
All Implemented Interfaces:
DeploymentConstants

public class DeploymentEngine
extends Object
implements DeploymentConstants


Field Summary
 
Fields inherited from interface org.apache.axis2.deployment.DeploymentConstants
ATTRIBUTE_DEFAULT_VERSION, ATTRIBUTE_LOCKED, ATTRIBUTE_NAME, ATTRIBUTE_SCOPE, AXIS2_CONFIGURATION_RESOURCE, AXIS2_CONFIGURATION_XML, AXIS2_REPO, BOOLEAN_FALSE, BOOLEAN_TRUE, DIRECTORY_AXIS2_HOME, DIRECTORY_CONF, DIRECTORY_MODULES, DIRECTORY_SERVICES, META_INF, MODULE_PATH, MODULE_XML, POLICY_NS_URI, PROPERTY_TEMP_DIR, RESOURCE_MODULES, SCHEMA, SCHEMA_NAME_SPACE, SEPARATOR_COLON, SEPARATOR_DOT, SERVICE_PATH, SERVICES_XML, SUFFIX_JAR, SUFFIX_MAR, SUFFIX_WSDL, TAG_AFTER, TAG_BEFORE, TAG_CLASS_NAME, TAG_DEFAULT_MODULE_VERSION, TAG_DESCRIPTION, TAG_DISPATCH_ORDER, TAG_DISPATCHER, TAG_EXCLUDE_OPERATIONS, TAG_EXTRACT_SERVICE_ARCHIVE, TAG_FLOW_IN, TAG_FLOW_IN_FAULT, TAG_FLOW_OUT, TAG_FLOW_OUT_FAULT, TAG_HANDLER, TAG_HOT_DEPLOYMENT, TAG_HOT_UPDATE, TAG_LABEL, TAG_LISTENER, TAG_MEP, TAG_MESSAGE, TAG_MESSAGE_RECEIVER, TAG_MESSAGE_RECEIVERS, TAG_MODULE, TAG_MODULE_CONFIG, TAG_NAMESPACES, TAG_OPERATION, TAG_ORDER, TAG_PARAMETER, TAG_PHASE, TAG_PHASE_FIRST, TAG_PHASE_LAST, TAG_PHASE_ORDER, TAG_POLICY, TAG_POLICY_REF, TAG_REFERENCE, TAG_SERVICE, TAG_SERVICE_GROUP, TAG_SUPPORTED_POLICY_NAMESPACES, TAG_TRANSPORT, TAG_TRANSPORT_RECEIVER, TAG_TRANSPORT_SENDER, TAG_TRANSPORTS, TAG_TYPE, TARGET_NAME_SPACE, TYPE_MODULE, TYPE_SERVICE
 
Constructor Summary
DeploymentEngine()
          Default constructor is needed to deploy module and service programatically.
 
Method Summary
 void addModule(QName moduleName)
          Adds module references to the list while parsing the axis2.xml file.
 void addWSToDeploy(ArchiveFileData file)
           
 void addWSToUndeploy(WSInfo file)
           
 AxisModule buildModule(File modulearchive, AxisConfiguration config)
          Builds ModuleDescription for a given module archive file.
 AxisService buildService(AxisService axisService, InputStream serviceInputStream, ClassLoader classLoader, AxisConfiguration axisConfig)
          Fills an axisservice object using services.xml.
 void doDeploy()
           
 void engageModules()
          Checks if the modules, referred by server.xml, exist or that they are deployed.
 AxisConfiguration getAxisConfig()
          Gets AxisConfiguration.
 ArchiveFileData getCurrentFileItem()
           
 AxisModule getModule(QName moduleName)
           
 PhasesInfo getPhasesinfo()
           
 String getWebLocationString()
           
 boolean isHotUpdate()
           
protected  MessageReceiver loadDefaultMessageReceiver(String mepURL, AxisService service)
           
 void loadFromClassPath()
           
 void loadRepository(String repoDir)
           
 void loadRepositoryFromURL(URL repoURL)
           
 void loadServices()
           
 void loadServicesFromUrl(URL repoURL)
           
 AxisConfiguration populateAxisConfiguration(InputStream in)
          To get AxisConfiguration for a given inputStream this method can be used.
 void setPhasesinfo(PhasesInfo phasesinfo)
           
 void setWebLocationString(String webLocationString)
           
 void unDeploy()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DeploymentEngine

public DeploymentEngine()
Default constructor is needed to deploy module and service programatically.

Method Detail

loadServices

public void loadServices()

loadRepository

public void loadRepository(String repoDir)
                    throws DeploymentException
Throws:
DeploymentException

loadFromClassPath

public void loadFromClassPath()
                       throws DeploymentException
Throws:
DeploymentException

loadServicesFromUrl

public void loadServicesFromUrl(URL repoURL)

loadRepositoryFromURL

public void loadRepositoryFromURL(URL repoURL)
                           throws DeploymentException
Throws:
DeploymentException

loadDefaultMessageReceiver

protected MessageReceiver loadDefaultMessageReceiver(String mepURL,
                                                     AxisService service)

addModule

public void addModule(QName moduleName)
Adds module references to the list while parsing the axis2.xml file. time none of module availble (they load after parsing the document)

Parameters:
moduleName - QName

addWSToDeploy

public void addWSToDeploy(ArchiveFileData file)
Parameters:
file -

addWSToUndeploy

public void addWSToUndeploy(WSInfo file)
Parameters:
file -

buildModule

public AxisModule buildModule(File modulearchive,
                              AxisConfiguration config)
                       throws DeploymentException
Builds ModuleDescription for a given module archive file. This does not called the init method since there is no refernce to configuration context so who ever create module usieng this has to called module.init if it is required

Parameters:
modulearchive - : Actual module archive file
config - : AxisConfiguration : for get classs loders etc..
Returns:
Throws:
DeploymentException

buildService

public AxisService buildService(AxisService axisService,
                                InputStream serviceInputStream,
                                ClassLoader classLoader,
                                AxisConfiguration axisConfig)
                         throws DeploymentException
Fills an axisservice object using services.xml. First creates an axisservice object using WSDL and then fills it using the given services.xml. Loads all the required class and builds the chains, finally adds the servicecontext to EngineContext and axisservice into EngineConfiguration.

Parameters:
axisService -
serviceInputStream -
classLoader -
Returns:
Returns AxisService.
Throws:
DeploymentException

doDeploy

public void doDeploy()

engageModules

public void engageModules()
                   throws AxisFault
Checks if the modules, referred by server.xml, exist or that they are deployed.

Throws:
AxisFault

populateAxisConfiguration

public AxisConfiguration populateAxisConfiguration(InputStream in)
                                            throws DeploymentException
To get AxisConfiguration for a given inputStream this method can be used. The inputstream should be a valid axis2.xml , else you will be getting DeploymentExceptions.

First creat a AxisConfiguration using given inputSream , and then it will try to find the repository location parameter from AxisConfiguration, so if user has add a parameter with the name "repository" , then the value specified by that parameter will be the repositiry and system will try to load modules and services from that repository location if it a valid location. hot deployment and hot update will work as usual in this case.

You will be getting AxisConfiguration corresponding to given inputstream if it is valid , if something goes wrong you will be getting DeploymentExeption

Parameters:
in -
Throws:
DeploymentException

unDeploy

public void unDeploy()

getAxisConfig

public AxisConfiguration getAxisConfig()
Gets AxisConfiguration.

Returns:
AxisConfiguration AxisConfiguration

getCurrentFileItem

public ArchiveFileData getCurrentFileItem()

getModule

public AxisModule getModule(QName moduleName)
                     throws AxisFault
Throws:
AxisFault

getPhasesinfo

public PhasesInfo getPhasesinfo()

isHotUpdate

public boolean isHotUpdate()

setPhasesinfo

public void setPhasesinfo(PhasesInfo phasesinfo)

getWebLocationString

public String getWebLocationString()

setWebLocationString

public void setWebLocationString(String webLocationString)