org.apache.axis2.deployment.util
Class Utils

java.lang.Object
  extended by org.apache.axis2.deployment.util.Utils

public class Utils
extends java.lang.Object


Field Summary
static java.lang.String defaultEncoding
           
 
Constructor Summary
Utils()
           
 
Method Summary
static void addEndpointsToService(AxisService axisService)
           
static void addEndpointsToService(AxisService axisService, AxisConfiguration axisConfiguration)
           
static void addExcludeMethods(java.util.ArrayList<java.lang.String> excludeList)
          Add the Axis2 lifecycle / session methods to a pre-existing list of names that will be excluded when generating schemas.
static void addFlowHandlers(Flow flow, java.lang.ClassLoader clsLoader)
           
static void addHttpEndpoint(AxisService axisService, java.lang.String url)
           
static void addHttpEndpoint(AxisService axisService, java.lang.String protocol, java.lang.String endpointName)
           
static void addSoap11Endpoint(AxisService axisService, java.lang.String url)
           
static void addSoap11Endpoint(AxisService axisService, java.lang.String protocol, java.lang.String endpointName)
           
static void addSoap12Endpoint(AxisService axisService, java.lang.String url)
           
static void addSoap12Endpoint(AxisService axisService, java.lang.String protocol, java.lang.String endpointName)
           
static java.lang.ClassLoader createClassLoader(java.util.ArrayList urls, java.lang.ClassLoader serviceClassLoader, boolean extractJars, java.io.File tmpDir, boolean isChildFirstClassLoading)
           
static DeploymentClassLoader createClassLoader(java.io.File serviceFile, boolean isChildFirstClassLoading)
           
static java.lang.ClassLoader createClassLoader(java.net.URL[] urls, java.lang.ClassLoader serviceClassLoader, boolean extractJars, java.io.File tmpDir, boolean isChildFirstClassLoading)
           
static java.io.File createTempFile(java.lang.String suffix, java.io.InputStream in, java.io.File tmpDir)
           
static void deployModuleServices(AxisModule module, ConfigurationContext configCtx)
          Modules can contain services in some cases.
static void fillAxisService(AxisService axisService, AxisConfiguration axisConfig, java.util.ArrayList<java.lang.String> excludeOperations, java.util.ArrayList<java.lang.String> nonRpcMethods)
          This guy will create a AxisService using java reflection
static java.util.List findLibJars(java.net.URL url)
          Get names of all *.jar files inside the lib/ directory of a given jar URL
static java.lang.String formatPath(java.lang.String path)
          Format the string paths to match any platform..
static java.lang.String getAnnotatedServiceName(java.lang.Class serviceClass, WebServiceAnnotation serviceAnnotation)
          The util method to prepare the JSR 181 annotated service name from given annotation or for defaults JSR 181 specifies that the in javax.jws.WebService the parameter serviceName contains the wsdl:service name to mapp.
static AxisOperation getAxisOperationForJmethod(java.lang.reflect.Method method)
           
static AxisBindingMessage getBindingMessage(AxisBindingOperation bindingOperation, AxisMessage message)
           
static AxisBindingOperation getBindingOperation(AxisBinding binding, AxisOperation operation)
           
static java.lang.ClassLoader getClassLoader(java.lang.ClassLoader parent, java.io.File file, boolean isChildFirstClassLoading)
          Get a ClassLoader which contains a classpath of a) the passed directory and b) any jar files inside the "lib/" or "Lib/" subdirectory of the passed directory.
static java.lang.ClassLoader getClassLoader(java.lang.ClassLoader parent, java.lang.String path, boolean isChildFirstClassLoading)
           
static java.lang.String getClassNameFromResourceName(java.lang.String resourceName)
          Get the class name from a resource name referring to a class file.
static AxisBinding getHttpBinding(AxisService service)
           
static java.lang.String getHTTPInputSerializationFromServicesXML(AxisOperation operation)
          get http input mime type from the services xml
static java.lang.String getHTTPLoacationFromServicesXML(AxisOperation operation)
          extract the http location from services xml related to given operation
static java.lang.String getHTTPMethodFromServicesXML(AxisOperation operation)
          extract the http method from services xml related to given operation
static java.lang.String getHTTPOutputSerializationFromservicesXML(AxisOperation operation)
          get http output mime type from the services xml
static java.util.List<java.lang.String> getListOfClasses(DeploymentFileData deploymentFileData)
          Scan a JAR file and return the list of classes contained in the JAR.
static org.apache.axiom.om.OMElement getParameter(java.lang.String name, java.lang.String value, boolean locked)
           
static java.lang.String getPath(java.lang.String parent, java.lang.String childPath)
           
static java.lang.String getServiceHierarchy(java.lang.String filePath, java.lang.String serviceDir)
          Computes the hierarchical part of the service name if this is such a service path.
static java.lang.String getShortFileName(java.lang.String filename)
           
static AxisBinding getSoap11Binding(AxisService service)
           
static AxisBinding getSoap12Binding(AxisService service)
           
static java.net.URL[] getURLsForAllJars(java.net.URL url, java.io.File tmpDir)
           
static boolean isHttpBinding(AxisBinding binding)
           
static boolean isSoap11Binding(AxisBinding binding)
           
static boolean isSoap12Binding(AxisBinding binding)
           
static boolean loadHandler(java.lang.ClassLoader loader1, HandlerDescription desc)
           
static void logFaultyServiceInfo(AxisConfiguration axisConfig)
          Log faulty services info due to unavailability of modules and transports
static java.lang.String normalize(java.lang.String uri)
          Normalize a uri containing ../ and ./ paths.
static void processBeanPropertyExclude(AxisService service)
          This method is to process bean exclude parameter and the XML format of that would be +
static void processPolicyAttachments(java.util.Iterator attachmentElements, AxisService service)
           
static void setEndpointsToAllUsedBindings(AxisService axisService)
           
static java.io.File toFile(java.net.URL url)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultEncoding

public static java.lang.String defaultEncoding
Constructor Detail

Utils

public Utils()
Method Detail

addFlowHandlers

public static void addFlowHandlers(Flow flow,
                                   java.lang.ClassLoader clsLoader)
                            throws AxisFault
Throws:
AxisFault

loadHandler

public static boolean loadHandler(java.lang.ClassLoader loader1,
                                  HandlerDescription desc)
                           throws DeploymentException
Throws:
DeploymentException

getURLsForAllJars

public static java.net.URL[] getURLsForAllJars(java.net.URL url,
                                               java.io.File tmpDir)

createTempFile

public static java.io.File createTempFile(java.lang.String suffix,
                                          java.io.InputStream in,
                                          java.io.File tmpDir)
                                   throws java.io.IOException
Throws:
java.io.IOException

getClassLoader

public static java.lang.ClassLoader getClassLoader(java.lang.ClassLoader parent,
                                                   java.lang.String path,
                                                   boolean isChildFirstClassLoading)
                                            throws DeploymentException
Throws:
DeploymentException

getClassLoader

public static java.lang.ClassLoader getClassLoader(java.lang.ClassLoader parent,
                                                   java.io.File file,
                                                   boolean isChildFirstClassLoading)
                                            throws DeploymentException
Get a ClassLoader which contains a classpath of a) the passed directory and b) any jar files inside the "lib/" or "Lib/" subdirectory of the passed directory.

Parameters:
parent - parent ClassLoader which will be the parent of the result of this method
file - a File which must be a directory for this to be useful
Returns:
a new ClassLoader pointing to both the passed dir and jar files under lib/
Throws:
DeploymentException - if problems occur

fillAxisService

public static void fillAxisService(AxisService axisService,
                                   AxisConfiguration axisConfig,
                                   java.util.ArrayList<java.lang.String> excludeOperations,
                                   java.util.ArrayList<java.lang.String> nonRpcMethods)
                            throws java.lang.Exception
This guy will create a AxisService using java reflection

Parameters:
axisService - the target AxisService
axisConfig - the in-scope AxisConfiguration
excludeOperations - a List of Strings (or null), each containing a method to exclude
nonRpcMethods - a List of Strings (or null), each containing a non-rpc method name
Throws:
java.lang.Exception - if a problem occurs

getAxisOperationForJmethod

public static AxisOperation getAxisOperationForJmethod(java.lang.reflect.Method method)
                                                throws AxisFault
Throws:
AxisFault

getParameter

public static org.apache.axiom.om.OMElement getParameter(java.lang.String name,
                                                         java.lang.String value,
                                                         boolean locked)

deployModuleServices

public static void deployModuleServices(AxisModule module,
                                        ConfigurationContext configCtx)
                                 throws AxisFault
Modules can contain services in some cases. This method will deploy all the services for a given AxisModule into the current AxisConfiguration.

The code looks for an "aars/" directory inside the module (either .mar or exploded), and an "aars.list" file inside that to figure out which services to deploy. Note that all services deployed this way will have access to the Module's classes.

Parameters:
module - the AxisModule to search for services
configCtx - ConfigurationContext in which to deploy
Throws:
AxisFault

normalize

public static java.lang.String normalize(java.lang.String uri)
Normalize a uri containing ../ and ./ paths.

Parameters:
uri - The uri path to normalize
Returns:
The normalized uri

getPath

public static java.lang.String getPath(java.lang.String parent,
                                       java.lang.String childPath)

findLibJars

public static java.util.List findLibJars(java.net.URL url)
Get names of all *.jar files inside the lib/ directory of a given jar URL

Parameters:
url - base URL of a JAR to search
Returns:
a List containing file names (Strings) of all files matching "[lL]ib/*.jar"

addExcludeMethods

public static void addExcludeMethods(java.util.ArrayList<java.lang.String> excludeList)
Add the Axis2 lifecycle / session methods to a pre-existing list of names that will be excluded when generating schemas.

Parameters:
excludeList - an ArrayList containing method names - we'll add ours to this.

createClassLoader

public static DeploymentClassLoader createClassLoader(java.io.File serviceFile,
                                                      boolean isChildFirstClassLoading)
                                               throws java.net.MalformedURLException
Throws:
java.net.MalformedURLException

createClassLoader

public static java.lang.ClassLoader createClassLoader(java.util.ArrayList urls,
                                                      java.lang.ClassLoader serviceClassLoader,
                                                      boolean extractJars,
                                                      java.io.File tmpDir,
                                                      boolean isChildFirstClassLoading)

toFile

public static java.io.File toFile(java.net.URL url)
                           throws java.io.UnsupportedEncodingException
Throws:
java.io.UnsupportedEncodingException

createClassLoader

public static java.lang.ClassLoader createClassLoader(java.net.URL[] urls,
                                                      java.lang.ClassLoader serviceClassLoader,
                                                      boolean extractJars,
                                                      java.io.File tmpDir,
                                                      boolean isChildFirstClassLoading)

processBeanPropertyExclude

public static void processBeanPropertyExclude(AxisService service)
This method is to process bean exclude parameter and the XML format of that would be +

Parameters:
service - , AxisService object

getShortFileName

public static java.lang.String getShortFileName(java.lang.String filename)

getAnnotatedServiceName

public static java.lang.String getAnnotatedServiceName(java.lang.Class serviceClass,
                                                       WebServiceAnnotation serviceAnnotation)
The util method to prepare the JSR 181 annotated service name from given annotation or for defaults JSR 181 specifies that the in javax.jws.WebService the parameter serviceName contains the wsdl:service name to mapp. If its not available then the default will be Simple name of the class + "Service"

Parameters:
serviceClass - the service Class
serviceAnnotation - a WebService annotation, or null
Returns:
String version of the ServiceName according to the JSR 181 spec

addEndpointsToService

public static void addEndpointsToService(AxisService axisService)
                                  throws AxisFault
Throws:
AxisFault

setEndpointsToAllUsedBindings

public static void setEndpointsToAllUsedBindings(AxisService axisService)

addEndpointsToService

public static void addEndpointsToService(AxisService axisService,
                                         AxisConfiguration axisConfiguration)
                                  throws AxisFault
Throws:
AxisFault

addSoap11Endpoint

public static void addSoap11Endpoint(AxisService axisService,
                                     java.lang.String url)
                              throws java.lang.Exception
Throws:
java.lang.Exception

addSoap11Endpoint

public static void addSoap11Endpoint(AxisService axisService,
                                     java.lang.String protocol,
                                     java.lang.String endpointName)
                              throws java.lang.Exception
Throws:
java.lang.Exception

addSoap12Endpoint

public static void addSoap12Endpoint(AxisService axisService,
                                     java.lang.String url)
                              throws java.lang.Exception
Throws:
java.lang.Exception

addSoap12Endpoint

public static void addSoap12Endpoint(AxisService axisService,
                                     java.lang.String protocol,
                                     java.lang.String endpointName)
                              throws java.lang.Exception
Throws:
java.lang.Exception

addHttpEndpoint

public static void addHttpEndpoint(AxisService axisService,
                                   java.lang.String url)

addHttpEndpoint

public static void addHttpEndpoint(AxisService axisService,
                                   java.lang.String protocol,
                                   java.lang.String endpointName)

processPolicyAttachments

public static void processPolicyAttachments(java.util.Iterator attachmentElements,
                                            AxisService service)
                                     throws javax.xml.stream.XMLStreamException,
                                            javax.xml.stream.FactoryConfigurationError
Throws:
javax.xml.stream.XMLStreamException
javax.xml.stream.FactoryConfigurationError

isSoap11Binding

public static boolean isSoap11Binding(AxisBinding binding)

isSoap12Binding

public static boolean isSoap12Binding(AxisBinding binding)

isHttpBinding

public static boolean isHttpBinding(AxisBinding binding)

getSoap11Binding

public static AxisBinding getSoap11Binding(AxisService service)

getSoap12Binding

public static AxisBinding getSoap12Binding(AxisService service)

getHttpBinding

public static AxisBinding getHttpBinding(AxisService service)

getBindingOperation

public static AxisBindingOperation getBindingOperation(AxisBinding binding,
                                                       AxisOperation operation)

getBindingMessage

public static AxisBindingMessage getBindingMessage(AxisBindingOperation bindingOperation,
                                                   AxisMessage message)

getHTTPLoacationFromServicesXML

public static java.lang.String getHTTPLoacationFromServicesXML(AxisOperation operation)
extract the http location from services xml related to given operation

Parameters:
operation -
Returns:

getHTTPMethodFromServicesXML

public static java.lang.String getHTTPMethodFromServicesXML(AxisOperation operation)
extract the http method from services xml related to given operation

Parameters:
operation -
Returns:

getHTTPInputSerializationFromServicesXML

public static java.lang.String getHTTPInputSerializationFromServicesXML(AxisOperation operation)
get http input mime type from the services xml

Parameters:
operation -
Returns:

getHTTPOutputSerializationFromservicesXML

public static java.lang.String getHTTPOutputSerializationFromservicesXML(AxisOperation operation)
get http output mime type from the services xml

Parameters:
operation -
Returns:

logFaultyServiceInfo

public static void logFaultyServiceInfo(AxisConfiguration axisConfig)
Log faulty services info due to unavailability of modules and transports

Parameters:
axisConfig -

getServiceHierarchy

public static java.lang.String getServiceHierarchy(java.lang.String filePath,
                                                   java.lang.String serviceDir)
Computes the hierarchical part of the service name if this is such a service path. Ex: filePath = .../repository/services/foo/1.0.0/version.aar -> "foo/1.0.0/" filePath = .../repository/services/version.aar -> ""

Parameters:
filePath - - input file path of the deploying file
serviceDir - - 'services', 'pojo', 'servicejars' etc..
Returns:
hierarchical path. either "" or a '/' separated string (Ex: foo/1.0.0/)

formatPath

public static java.lang.String formatPath(java.lang.String path)
Format the string paths to match any platform.. windows, linux etc..

Parameters:
path - - input file path
Returns:
formatted file path

getClassNameFromResourceName

public static java.lang.String getClassNameFromResourceName(java.lang.String resourceName)
Get the class name from a resource name referring to a class file.

Parameters:
resourceName - the resource name
Returns:
the class name

getListOfClasses

public static java.util.List<java.lang.String> getListOfClasses(DeploymentFileData deploymentFileData)
                                                         throws DeploymentException
Scan a JAR file and return the list of classes contained in the JAR.

Parameters:
deploymentFileData - the JAR to scan
Returns:
a list of Java class names
Throws:
DeploymentException - if an error occurs while scanning the file


Copyright © 2004-2011 The Apache Software Foundation. All Rights Reserved.