You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ga...@apache.org on 2007/06/25 23:03:25 UTC
svn commit: r550608 - in
/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws:
description/builder/DescriptionBuilderUtils.java
description/impl/EndpointDescriptionImpl.java util/ClassLoaderUtils.java
Author: gawor
Date: Mon Jun 25 14:03:24 2007
New Revision: 550608
URL: http://svn.apache.org/viewvc?view=rev&rev=550608
Log:
factor out duplicated code
Added:
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java (with props)
Modified:
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java
Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java?view=diff&rev=550608&r1=550607&r2=550608
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java Mon Jun 25 14:03:24 2007
@@ -18,14 +18,11 @@
*/
package org.apache.axis2.jaxws.description.builder;
-import org.apache.axis2.java.security.AccessController;
import org.apache.axis2.jaxws.ExceptionFactory;
+import org.apache.axis2.jaxws.util.ClassLoaderUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-
/**
*
*/
@@ -319,7 +316,7 @@
if (classLoader != null) {
// Use the specified classloader to load the class.
try {
- returnClass = forName(classToLoad, false, classLoader);
+ returnClass = ClassLoaderUtils.forName(classToLoad, false, classLoader);
}
//Catch Throwable as ClassLoader can throw an NoClassDefFoundError that
//does not extend Exception, so lets catch everything that extends Throwable
@@ -332,13 +329,13 @@
} else {
//Use the thread context class loader to load the class.
try {
- returnClass = forName(classToLoad, false,
- getContextClassLoader());
+ returnClass = ClassLoaderUtils.forName(classToLoad, false,
+ ClassLoaderUtils.getContextClassLoader());
}
catch (Throwable ex) {
//Use the default classloader to load the class.
try {
- returnClass = forName(classToLoad);
+ returnClass = ClassLoaderUtils.forName(classToLoad);
}
//Catch Throwable as ClassLoader can throw an NoClassDefFoundError that
//does not extend Exception
@@ -352,78 +349,4 @@
return returnClass;
}
- /** @return ClassLoader */
- private static ClassLoader getContextClassLoader() {
- // NOTE: This method must remain private because it uses AccessController
- ClassLoader cl = null;
- try {
- cl = (ClassLoader)AccessController.doPrivileged(
- new PrivilegedExceptionAction() {
- public Object run() throws ClassNotFoundException {
- return Thread.currentThread().getContextClassLoader();
- }
- }
- );
- } catch (PrivilegedActionException e) {
- if (log.isDebugEnabled()) {
- log.debug("Exception thrown from AccessController: " + e);
- }
- throw ExceptionFactory.makeWebServiceException(e.getException());
- }
-
- return cl;
- }
-
- /**
- * Return the class for this name
- *
- * @return Class
- */
- private static Class forName(final String className, final boolean initialize,
- final ClassLoader classloader) throws ClassNotFoundException {
- // NOTE: This method must remain private because it uses AccessController
- Class cl = null;
- try {
- cl = (Class)AccessController.doPrivileged(
- new PrivilegedExceptionAction() {
- public Object run() throws ClassNotFoundException {
- return Class.forName(className, initialize, classloader);
- }
- }
- );
- } catch (PrivilegedActionException e) {
- if (log.isDebugEnabled()) {
- log.debug("Exception thrown from AccessController: " + e);
- }
- throw (ClassNotFoundException)e.getException();
- }
-
- return cl;
- }
-
- /**
- * Return the class for this name
- *
- * @return Class
- */
- private static Class forName(final String className) throws ClassNotFoundException {
- // NOTE: This method must remain private because it uses AccessController
- Class cl = null;
- try {
- cl = (Class)AccessController.doPrivileged(
- new PrivilegedExceptionAction() {
- public Object run() throws ClassNotFoundException {
- return Class.forName(className);
- }
- }
- );
- } catch (PrivilegedActionException e) {
- if (log.isDebugEnabled()) {
- log.debug("Exception thrown from AccessController: " + e);
- }
- throw (ClassNotFoundException)e.getException();
- }
-
- return cl;
- }
}
Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java?view=diff&rev=550608&r1=550607&r2=550608
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java Mon Jun 25 14:03:24 2007
@@ -18,6 +18,31 @@
*/
package org.apache.axis2.jaxws.description.impl;
+import java.io.InputStream;
+import java.security.PrivilegedAction;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeSet;
+
+import javax.jws.HandlerChain;
+import javax.jws.WebService;
+import javax.wsdl.Binding;
+import javax.wsdl.Definition;
+import javax.wsdl.Port;
+import javax.wsdl.extensions.ExtensibilityElement;
+import javax.wsdl.extensions.http.HTTPBinding;
+import javax.wsdl.extensions.soap.SOAPAddress;
+import javax.wsdl.extensions.soap12.SOAP12Address;
+import javax.wsdl.extensions.soap12.SOAP12Binding;
+import javax.xml.namespace.QName;
+import javax.xml.ws.BindingType;
+import javax.xml.ws.Service;
+import javax.xml.ws.ServiceMode;
+import javax.xml.ws.WebServiceProvider;
+import javax.xml.ws.handler.PortInfo;
+import javax.xml.ws.soap.SOAPBinding;
+
import org.apache.axis2.AxisFault;
import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.context.ConfigurationContext;
@@ -42,40 +67,12 @@
import org.apache.axis2.jaxws.description.builder.WsdlComposite;
import org.apache.axis2.jaxws.description.xml.handler.HandlerChainsType;
import org.apache.axis2.jaxws.i18n.Messages;
+import org.apache.axis2.jaxws.util.ClassLoaderUtils;
import org.apache.axis2.jaxws.util.WSDL4JWrapper;
import org.apache.axis2.jaxws.util.WSDLWrapper;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import javax.jws.HandlerChain;
-import javax.jws.WebService;
-import javax.wsdl.Binding;
-import javax.wsdl.Definition;
-import javax.wsdl.Port;
-import javax.wsdl.extensions.ExtensibilityElement;
-import javax.wsdl.extensions.http.HTTPBinding;
-import javax.wsdl.extensions.soap.SOAPAddress;
-import javax.wsdl.extensions.soap12.SOAP12Address;
-import javax.wsdl.extensions.soap12.SOAP12Binding;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.namespace.QName;
-import javax.xml.ws.BindingType;
-import javax.xml.ws.Service;
-import javax.xml.ws.ServiceMode;
-import javax.xml.ws.WebServiceProvider;
-import javax.xml.ws.handler.PortInfo;
-import javax.xml.ws.soap.SOAPBinding;
-import java.io.InputStream;
-import java.security.PrivilegedAction;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeSet;
-
/** @see ../EndpointDescription */
/*
* TODO: EndpointDescription should be created via AxisService objects and not directly from WSDL
@@ -519,8 +516,8 @@
} else {
try {
// TODO: Using Class forName() is probably not the best long-term way to get the SEI class from the annotation
- seiClass = forName(seiClassName, false,
- getContextClassLoader());
+ seiClass = ClassLoaderUtils.forName(seiClassName, false,
+ ClassLoaderUtils.getContextClassLoader());
// Catch Throwable as ClassLoader can throw an NoClassDefFoundError that
// does not extend Exception, so lets catch everything that extends Throwable
// rather than just Exception.
@@ -1621,55 +1618,6 @@
}
}
return wsdlComposite;
- }
-
- /**
- * Return the class for this name
- *
- * @return Class
- */
- private static Class forName(final String className, final boolean initialize,
- final ClassLoader classloader) throws ClassNotFoundException {
- // NOTE: This method must remain protected because it uses AccessController
- Class cl = null;
- try {
- cl = (Class)AccessController.doPrivileged(
- new PrivilegedExceptionAction() {
- public Object run() throws ClassNotFoundException {
- return Class.forName(className, initialize, classloader);
- }
- }
- );
- } catch (PrivilegedActionException e) {
- if (log.isDebugEnabled()) {
- log.debug("Exception thrown from AccessController: " + e);
- }
- throw (ClassNotFoundException)e.getException();
- }
-
- return cl;
- }
-
- /** @return ClassLoader */
- private static ClassLoader getContextClassLoader() {
- // NOTE: This method must remain private because it uses AccessController
- ClassLoader cl = null;
- try {
- cl = (ClassLoader)AccessController.doPrivileged(
- new PrivilegedExceptionAction() {
- public Object run() throws ClassNotFoundException {
- return Thread.currentThread().getContextClassLoader();
- }
- }
- );
- } catch (PrivilegedActionException e) {
- if (log.isDebugEnabled()) {
- log.debug("Exception thrown from AccessController: " + e);
- }
- throw (RuntimeException)e.getException();
- }
-
- return cl;
}
public String toString() {
Added: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java?view=auto&rev=550608
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java (added)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java Mon Jun 25 14:03:24 2007
@@ -0,0 +1,106 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * Copyright 2006 International Business Machines Corp.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.axis2.jaxws.util;
+
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
+import org.apache.axis2.java.security.AccessController;
+import org.apache.axis2.jaxws.ExceptionFactory;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class ClassLoaderUtils {
+
+ private static final Log log = LogFactory.getLog(ClassLoaderUtils.class);
+
+ private ClassLoaderUtils() {
+ }
+
+ /** @return ClassLoader */
+ public static ClassLoader getContextClassLoader() {
+ ClassLoader cl = null;
+ try {
+ cl = (ClassLoader)AccessController.doPrivileged(
+ new PrivilegedExceptionAction() {
+ public Object run() throws ClassNotFoundException {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ }
+ );
+ } catch (PrivilegedActionException e) {
+ if (log.isDebugEnabled()) {
+ log.debug("Exception thrown from AccessController: " + e.getMessage(), e);
+ }
+ throw ExceptionFactory.makeWebServiceException(e.getException());
+ }
+
+ return cl;
+ }
+
+ /**
+ * Return the class for this name
+ *
+ * @return Class
+ */
+ public static Class forName(final String className, final boolean initialize,
+ final ClassLoader classloader) throws ClassNotFoundException {
+ Class cl = null;
+ try {
+ cl = (Class)AccessController.doPrivileged(
+ new PrivilegedExceptionAction() {
+ public Object run() throws ClassNotFoundException {
+ return Class.forName(className, initialize, classloader);
+ }
+ }
+ );
+ } catch (PrivilegedActionException e) {
+ if (log.isDebugEnabled()) {
+ log.debug("Exception thrown from AccessController: " + e.getMessage(), e);
+ }
+ throw (ClassNotFoundException)e.getException();
+ }
+
+ return cl;
+ }
+
+ /**
+ * Return the class for this name
+ *
+ * @return Class
+ */
+ public static Class forName(final String className) throws ClassNotFoundException {
+ Class cl = null;
+ try {
+ cl = (Class)AccessController.doPrivileged(
+ new PrivilegedExceptionAction() {
+ public Object run() throws ClassNotFoundException {
+ return Class.forName(className);
+ }
+ }
+ );
+ } catch (PrivilegedActionException e) {
+ if (log.isDebugEnabled()) {
+ log.debug("Exception thrown from AccessController: " + e.getMessage(), e);
+ }
+ throw (ClassNotFoundException)e.getException();
+ }
+
+ return cl;
+ }
+}
Propchange: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org