You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by sc...@apache.org on 2006/12/02 02:50:27 UTC
svn commit: r481486 - in
/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws:
description/impl/OperationDescriptionImpl.java
description/impl/ParameterDescriptionImpl.java
message/databinding/impl/JAXBBlockImpl.java
Author: scheu
Date: Fri Dec 1 17:50:23 2006
New Revision: 481486
URL: http://svn.apache.org/viewvc?view=rev&rev=481486
Log:
AXIS2-1807
Contributor:Rich Scheuerle
Quick Change to consider ParameterizedType in OperationDescription and ParameterDescription.
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java?view=diff&rev=481486&r1=481485&r2=481486
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/OperationDescriptionImpl.java Fri Dec 1 17:50:23 2006
@@ -1155,13 +1155,26 @@
* @see org.apache.axis2.jaxws.description.OperationDescription#getResultActualType()
*/
public Class getResultActualType() {
+
+ // REVIEW:
+ // Do we want to add a getParameterActualGenericType that would return Type
+ // instead of Class ?
+
+ // NOTE
+ // If you change this code, please remember to change
+ // ParameterDescription.getParameterActualType
+
Class returnType = getResultType();
if(isAsync()){
//pooling implementation
if(Response.class == returnType){
Type type = seiMethod.getGenericReturnType();
ParameterizedType pType = (ParameterizedType) type;
- return (Class)pType.getActualTypeArguments()[0];
+ Type aType = (Class) pType.getActualTypeArguments()[0];
+ if (aType != null && ParameterizedType.class.isInstance(aType)) {
+ return (Class) ((ParameterizedType) aType).getRawType();
+ }
+ return (Class) aType;
}
//Callback Implementation
else{
@@ -1171,7 +1184,11 @@
for(Class param:parameters){
if(AsyncHandler.class.isAssignableFrom(param)){
ParameterizedType pType = (ParameterizedType)type[i];
- return (Class)pType.getActualTypeArguments()[0];
+ Type aType = (Class) pType.getActualTypeArguments()[0];
+ if (aType != null && ParameterizedType.class.isInstance(aType)) {
+ return (Class) ((ParameterizedType) aType).getRawType();
+ }
+ return (Class)aType;
}
i++;
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java?view=diff&rev=481486&r1=481485&r2=481486
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java Fri Dec 1 17:50:23 2006
@@ -115,8 +115,21 @@
*/
public Class getParameterActualType() {
if (isHolderType() && parameterGenericType != null) {
+
+ // REVIEW:
+ // Do we want to add a getParameterActualGenericType that would return Type
+ // instead of Class ?
+
+ // NOTE
+ // If you change this code, please remember to change
+ // OperationDesc.getResultActualType
+
// For types of Holder<T>, return the class associated with T
- return (Class) parameterGenericType.getActualTypeArguments()[0];
+ Type type = (Class) parameterGenericType.getActualTypeArguments()[0];
+ if (type != null && ParameterizedType.class.isInstance(type)) {
+ return (Class) ((ParameterizedType) type).getRawType();
+ }
+ return (Class) type;
}
else {
return parameterType;
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java?view=diff&rev=481486&r1=481485&r2=481486
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.java Fri Dec 1 17:50:23 2006
@@ -18,6 +18,7 @@
import java.io.StringReader;
import java.io.StringWriter;
+import java.lang.reflect.Type;
import java.util.List;
import javax.xml.bind.JAXBElement;
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org