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 ba...@apache.org on 2006/11/01 18:59:20 UTC
svn commit: r470019 - in
/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description:
./ builder/
Author: barrettj
Date: Wed Nov 1 09:59:19 2006
New Revision: 470019
URL: http://svn.apache.org/viewvc?view=rev&rev=470019
Log:
AXIS2-1557
Patch contributed by Roy Wood Jr. I made a few minor changes to remove a println and add a couple of comments.
Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java?view=diff&rev=470019&r1=470018&r2=470019
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointDescription.java Wed Nov 1 09:59:19 2006
@@ -782,11 +782,15 @@
else if (getWebServiceProviderAnnotation() != null
&& !DescriptionUtils.isEmpty(getWebServiceProviderAnnotation().serviceName())) {
annotation_ServiceName = getWebServiceProviderAnnotation().serviceName();
- }
+ }
else {
- // Default value is the "simple name" of the class or interface + "Service"
+ // Default value is the "simple name" of the class or interface + "Service"
// Per JSR-181 MR Sec 4.1, pg 15
- annotation_ServiceName = getSimpleJavaClassName(implOrSEIClass) + "Service";
+ if (getServiceDescription().isDBCMap()) {
+ annotation_ServiceName = getSimpleJavaClassName(composite.getClassName()) + "Service";
+ } else {
+ annotation_ServiceName = getSimpleJavaClassName(implOrSEIClass) + "Service";
+ }
}
}
return annotation_ServiceName;
@@ -813,8 +817,11 @@
// Note that this is really the same thing as the call to getWebServiceName()
// in the WebService case; it is done sepertely just to be clear there is no
// name element on the WebServiceProvider annotation
- annotation_PortName = getSimpleJavaClassName(implOrSEIClass) + "Port";
- }
+
+ annotation_PortName = (getServiceDescription().isDBCMap()) ?
+ getSimpleJavaClassName(composite.getClassName()) + "Port"
+ : getSimpleJavaClassName(implOrSEIClass) + "Port";
+ }
else {
// This is the @WebService annotation path
// Default value is the @WebService.name of the class or interface + "Port"
@@ -840,7 +847,13 @@
// Default value per JSR-181 MR Sec 4.1 pg 15 defers to "Implementation defined,
// as described in JAX-WS 2.0, section 3.2" which is JAX-WS 2.0 Sec 3.2, pg 29.
// FIXME: Hardcoded protocol for namespace
- annotation_TargetNamespace = makeNamespaceFromPackageName(getJavaPackageName(implOrSEIClass), "http");
+ if (getServiceDescription().isDBCMap())
+ annotation_TargetNamespace =
+ makeNamespaceFromPackageName(getJavaPackageName(composite.getClassName()), "http");
+ else
+ annotation_TargetNamespace =
+ makeNamespaceFromPackageName(getJavaPackageName(implOrSEIClass), "http");
+
}
}
return annotation_TargetNamespace;
@@ -849,6 +862,7 @@
/**
* Return the name of the class without any package qualifier.
+ * This method should be DEPRECATED when DBC support is complete
* @param theClass
* @return the name of the class sans package qualification.
*/
@@ -893,6 +907,7 @@
/**
* Returns the package name from the class. If no package, then returns null
+ * This method should be DEPRECATED when DBC support is complete
* @param theClass
* @return
*/
@@ -914,6 +929,28 @@
}
/**
+ * Returns the package name from the class. If no package, then returns null
+ * @param theClassName
+ * @return
+ */
+ private static String getJavaPackageName(String theClassName) {
+ String returnPackage = null;
+ if (theClassName != null) {
+ String fqName = theClassName;
+ // Get the package name, if there is one
+ int endOfPackageIndex = fqName.lastIndexOf('.');
+ if (endOfPackageIndex >= 0) {
+ returnPackage = fqName.substring(0, endOfPackageIndex);
+ }
+ }
+ else {
+ // TODO: RAS and NLS
+ throw new UnsupportedOperationException("Java class is null");
+ }
+ return returnPackage;
+ }
+
+ /**
* Create a JAX-WS namespace based on the package name
* @param packageName
* @param protocol
@@ -1019,8 +1056,15 @@
// ===========================================
// REVIEW: Should this be returning an enum other than the one defined within the annotation?
ServiceMode getServiceMode() {
- if (serviceModeAnnotation == null && implOrSEIClass != null) {
- serviceModeAnnotation = (ServiceMode) implOrSEIClass.getAnnotation(ServiceMode.class);
+
+ if (serviceModeAnnotation == null) {
+ if (getServiceDescription().isDBCMap()) {
+ serviceModeAnnotation = composite.getServiceModeAnnot();
+ } else {
+ if (implOrSEIClass != null) {
+ serviceModeAnnotation = (ServiceMode) implOrSEIClass.getAnnotation(ServiceMode.class);
+ }
+ }
}
return serviceModeAnnotation;
}
@@ -1043,9 +1087,15 @@
// ===========================================
BindingType getBindingType() {
- if (bindingTypeAnnotation == null && implOrSEIClass != null) {
- bindingTypeAnnotation = (BindingType) implOrSEIClass.getAnnotation(BindingType.class);
- }
+ if (bindingTypeAnnotation == null) {
+ if (getServiceDescription().isDBCMap()) {
+ bindingTypeAnnotation = composite.getBindingTypeAnnot();
+ } else {
+ if (implOrSEIClass != null) {
+ bindingTypeAnnotation = (BindingType) implOrSEIClass.getAnnotation(BindingType.class);
+ }
+ }
+ }
return bindingTypeAnnotation;
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java?view=diff&rev=470019&r1=470018&r2=470019
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/EndpointInterfaceDescription.java Wed Nov 1 09:59:19 2006
@@ -25,6 +25,7 @@
import javax.jws.soap.SOAPBinding;
import javax.xml.namespace.QName;
+import javax.xml.ws.BindingType;
import org.apache.axis2.description.AxisOperation;
import org.apache.axis2.description.AxisService;
@@ -99,6 +100,7 @@
// This may be an actual Service Endpoint Interface -OR- it may be a service implementation class that did not
// specify an @WebService.endpointInterface.
private Class seiClass;
+ private DescriptionBuilderComposite dbc;
//Logging setup
private static final Log log = LogFactory.getLog(EndpointInterfaceDescription.class);
@@ -169,6 +171,8 @@
EndpointDescription parent){
parentEndpointDescription = parent;
+ this.dbc = dbc;
+
BasicConfigurator.configure();
//TODO: Determine if the isClass parameter is really necessary
@@ -192,6 +196,8 @@
while (iter.hasNext()) {
mdc = iter.next();
+ //TODO: Verify that this classname is truly always the wrapper class
+ mdc.setDeclaringClass(dbc.getClassName());
OperationDescription operation = new OperationDescription(mdc, this);
//TODO: Do we need to worry about a null AxisOperation at this level?
@@ -340,7 +346,8 @@
* @param javaMethodName String representing a Java Method Name
* @return
*/
- // FIXME: This is confusing; some getOperations use the QName from the WSDL or annotation; this one uses the java method name; rename this signature I think; add on that takes a String but does a QName lookup against the WSDL/Annotation
+ // FIXME: This is confusing; some getOperations use the QName from the WSDL or annotation;
+ // this one uses the java method name; rename this signature I think; add on that takes a String but does a QName lookup against the WSDL/Annotation
public OperationDescription[] getOperationForJavaMethod(String javaMethodName) {
if (DescriptionUtils.isEmpty(javaMethodName)) {
return null;
@@ -434,15 +441,22 @@
public Class getSEIClass() {
return seiClass;
}
- // Annotation-realted getters
+ // Annotation-related getters
// ========================================
- // SOAP Binding annotation realted methods
+ // SOAP Binding annotation related methods
// ========================================
SOAPBinding getSoapBinding(){
// TODO: Test with sei Null, not null, SOAP Binding annotated, not annotated
- if (soapBindingAnnotation == null && seiClass != null) {
- soapBindingAnnotation = (SOAPBinding) seiClass.getAnnotation(SOAPBinding.class);
+
+ if (soapBindingAnnotation == null) {
+ if (dbc != null) {
+ soapBindingAnnotation = dbc.getSoapBindingAnnot();
+ } else {
+ if (seiClass != null) {
+ soapBindingAnnotation = (SOAPBinding) seiClass.getAnnotation(SOAPBinding.class);
+ }
+ }
}
return soapBindingAnnotation;
}
@@ -484,15 +498,17 @@
}
public Iterator<MethodDescriptionComposite> retrieveReleventMethods(DescriptionBuilderComposite dbc) {
- //Based on whether this is an implicit SEI, or an actual SEI, Gather up and build a
- //list of MDC's. If this is an actual SEI, then starting with this DBC, build a list of all
- //MDC's that are public methods in the chain of extended classes.
- //If this is an implicit SEI, then starting with this DBC,
- //1. If a false exclude is found, then take only those that have false excludes
- //2. Assuming no false excludes, take all public methods that don't have exclude == true
- //3. For each super class, if 'WebService' present, take all MDC's according to rules 1&2
- // But, if WebService not present, grab only MDC's that are annotated, hmmmm
-
+
+ /*
+ * Depending on whether this is an implicit SEI or an actual SEI, Gather up and build a
+ * list of MDC's. If this is an actual SEI, then starting with this DBC, build a list of all
+ * MDC's that are public methods in the chain of extended classes.
+ * If this is an implicit SEI, then starting with this DBC,
+ * 1. If a false exclude is found, then take only those that have false excludes
+ * 2. Assuming no false excludes, take all public methods that don't have exclude == true
+ * 3. For each super class, if 'WebService' present, take all MDC's according to rules 1&2
+ * But, if WebService not present, grab only MDC's that are annotated.
+ */
if (log.isTraceEnabled()) {
log.trace("retrieveReleventMethods: Enter");
}
@@ -604,5 +620,4 @@
return retrieveList;
}
-
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java?view=diff&rev=470019&r1=470018&r2=470019
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/OperationDescription.java Wed Nov 1 09:59:19 2006
@@ -196,6 +196,7 @@
parentEndpointInterfaceDescription = parent;
methodComposite = mdc;
+ this.operationName = new QName(getWebMethodOperationName());
webMethodAnnotation = methodComposite.getWebMethodAnnot();
AxisOperation axisOperation = null;
@@ -323,13 +324,17 @@
}
}
- /*
else {
if (methodComposite != null) {
- Class[] parameters = methodComposite.getP
+
+ Iterator<ParameterDescriptionComposite> iter =
+ methodComposite.getParameterDescriptionCompositeList().iterator();
+ while (iter.hasNext()) {
+ returnParameters.add(iter.next().getParameterType());
+ }
}
}
- */
+
// TODO: This is different than the rest, which return null instead of an empty array
return returnParameters.toArray(new String[0]);
}
@@ -461,7 +466,7 @@
if (!isDBC())
webMethodOperationName = determineOperationName(seiMethod);
else
- webMethodOperationName = determineOperationName(this.methodComposite);
+ webMethodOperationName = determineOperationName(methodComposite);
}
return webMethodOperationName;
}
@@ -500,7 +505,11 @@
// ==========================================
RequestWrapper getRequestWrapper() {
if (requestWrapperAnnotation == null) {
- requestWrapperAnnotation = seiMethod.getAnnotation(RequestWrapper.class);
+ if (!isDBC()) {
+ requestWrapperAnnotation = seiMethod.getAnnotation(RequestWrapper.class);
+ } else {
+ requestWrapperAnnotation = methodComposite.getRequestWrapperAnnot();
+ }
}
return requestWrapperAnnotation;
}
@@ -570,10 +579,14 @@
// the JAX-WS spec, BUT Conformance(Using javax.xml.ws.RequestWrapper) in Sec 2.3.1.2 on p. 13
// says the entire annotation "...MAY be omitted if all its properties would have default vaules."
// implying there IS some sort of default. We'll try this for now:
- Class clazz = seiMethod.getDeclaringClass();
- String packageName = clazz.getPackage().getName();
- String className = DescriptionUtils.javaMethodtoClassName(seiMethod.getName());
- requestWrapperClassName = packageName + "." + className;
+ if (isDBC()) {
+ requestWrapperClassName = this.methodComposite.getDeclaringClass();
+ } else {
+ Class clazz = seiMethod.getDeclaringClass();
+ String packageName = clazz.getPackage().getName();
+ String className = DescriptionUtils.javaMethodtoClassName(seiMethod.getName());
+ requestWrapperClassName = packageName + "." + className;
+ }
}
}
return requestWrapperClassName;
@@ -584,7 +597,11 @@
// ===========================================
ResponseWrapper getResponseWrapper() {
if (responseWrapperAnnotation == null) {
- responseWrapperAnnotation = seiMethod.getAnnotation(ResponseWrapper.class);
+ if (!isDBC()) {
+ responseWrapperAnnotation = seiMethod.getAnnotation(ResponseWrapper.class);
+ } else {
+ responseWrapperAnnotation = methodComposite.getResponseWrapperAnnot();
+ }
}
return responseWrapperAnnotation;
}
@@ -655,10 +672,14 @@
// the JAX-WS spec, BUT Conformance(Using javax.xml.ws.ResponseWrapper) in Sec 2.3.1.2 on p. 13
// says the entire annotation "...MAY be omitted if all its properties would have default vaules."
// implying there IS some sort of default. We'll try this for now:
- Class clazz = seiMethod.getDeclaringClass();
- String packageName = clazz.getPackage().getName();
- String className = DescriptionUtils.javaMethodtoClassName(seiMethod.getName());
- responseWrapperClassName = packageName + "." + className;
+ if (!isDBC()) {
+ Class clazz = seiMethod.getDeclaringClass();
+ String packageName = clazz.getPackage().getName();
+ String className = DescriptionUtils.javaMethodtoClassName(seiMethod.getName());
+ responseWrapperClassName = packageName + "." + className;
+ } else {
+ responseWrapperClassName = methodComposite.getDeclaringClass();
+ }
}
}
return responseWrapperClassName;
@@ -789,7 +810,12 @@
// ===========================================
WebResult getWebResult() {
if (webResultAnnotation == null) {
- webResultAnnotation = seiMethod.getAnnotation(WebResult.class);
+ if (!isDBC()) {
+ webResultAnnotation = seiMethod.getAnnotation(WebResult.class);
+ } else {
+ webResultAnnotation = methodComposite.getWebResultAnnot();
+ }
+
}
return webResultAnnotation;
}
@@ -799,7 +825,19 @@
}
public boolean isOperationReturningResult() {
- return !isOneWay() && (seiMethod.getReturnType() != Void.TYPE);
+ boolean isResult = false;
+ if (!isOneWay()) {
+ if (!isDBC()) {
+ if (seiMethod.getReturnType() != Void.TYPE) {
+ isResult = true;
+ }
+ } else {
+ if (!DescriptionUtils.isEmpty(methodComposite.getReturnType()) &&
+ !methodComposite.getReturnType().equals("void"))
+ isResult = true;
+ }
+ }
+ return isResult;
}
public String getWebResultName() {
@@ -888,7 +926,11 @@
// TODO: VALIDATION: Only style of DOCUMENT allowed on Method annotation; remember to check the Type's style setting also
// JSR-181 Sec 4.7 p. 28
if (soapBindingAnnotation == null) {
- soapBindingAnnotation = seiMethod.getAnnotation(SOAPBinding.class);
+ if (!isDBC()) {
+ soapBindingAnnotation = seiMethod.getAnnotation(SOAPBinding.class);
+ } else {
+ soapBindingAnnotation = methodComposite.getSoapBindingAnnot();
+ }
}
return soapBindingAnnotation;
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java?view=diff&rev=470019&r1=470018&r2=470019
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/ServiceDescription.java Wed Nov 1 09:59:19 2006
@@ -49,6 +49,7 @@
import org.apache.axis2.jaxws.ClientConfigurationFactory;
import org.apache.axis2.jaxws.ExceptionFactory;
import org.apache.axis2.jaxws.description.builder.DescriptionBuilderComposite;
+import org.apache.axis2.jaxws.description.builder.MDQConstants;
import org.apache.axis2.jaxws.description.builder.MethodDescriptionComposite;
import org.apache.axis2.jaxws.description.builder.WebMethodAnnot;
import org.apache.axis2.jaxws.i18n.Messages;
@@ -534,7 +535,27 @@
//consumer set this up improperly, then we should fail fast, should consider placing
//this method in a utils class within the 'description' package
-
+ //Verify that, if this implements a strongly typed provider interface, that it
+ // also contain a WebServiceProvider annotation per JAXWS Sec. 5.1
+ Iterator<String> iter =
+ composite.getInterfacesList().iterator();
+
+ while (iter.hasNext()) {
+ String interfaceString = iter.next();
+ // REVIEW: These string compares may not be sufficient; they assume, for example Provider<SOAPMessage>. What about endpoint impls that:
+ // (1) ... implement Provider<javax.xml.soap.SOAPMessage>
+ // (2) import wrong.package.SOAPMessage;
+ // ... implement Provider<SOAPMessage>;
+ if (interfaceString.equals(MDQConstants.PROVIDER_SOURCE)
+ || interfaceString.equals(MDQConstants.PROVIDER_SOAP)
+ || interfaceString.equals(MDQConstants.PROVIDER_DATASOURCE)) {
+ //This is a provider based SEI, make sure the annotation exists
+ if (composite.getWebServiceProviderAnnot() == null) {
+ throw ExceptionFactory.makeWebServiceException("DescriptionBuilderComposite: This is a Provider based SEI that does not contain a WebServiceProvider annotation");
+ }
+ }
+ }
+
//Verify that WebService and WebServiceProvider are not both specified
//per JAXWS - Sec. 7.7
if (composite.getWebServiceAnnot() != null && composite.getWebServiceProviderAnnot() != null) {
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java?view=diff&rev=470019&r1=470018&r2=470019
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MDQConstants.java Wed Nov 1 09:59:19 2006
@@ -32,4 +32,8 @@
public static final String WSDL_PORTTYPE_NAME = "WSDL_PORTTYPE_NAME";
public static final String OBJECT_CLASS_NAME = "java.lang.Object";
+
+ public static final String PROVIDER_SOURCE = "Provider<Source>";
+ public static final String PROVIDER_SOAP = "Provider<SOAPMessage>";
+ public static final String PROVIDER_DATASOURCE = "Provider<javax.activation.DataSource>";
}
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java?view=diff&rev=470019&r1=470018&r2=470019
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/MethodDescriptionComposite.java Wed Nov 1 09:59:19 2006
@@ -13,6 +13,7 @@
private String methodName; //a public method name in this class
private String returnType; //Methods return type
private String[] exceptions;
+ private String declaringClass; //the class/interface that actually declares this method
boolean oneWayAnnotated;
private WebMethodAnnot webMethodAnnot;
@@ -26,7 +27,6 @@
private ResponseWrapperAnnot responseWrapperAnnot;//TODO EDIT CHECK: only on methods of SEI
private List<ParameterDescriptionComposite> parameterDescriptions;//TODO EDIT CHECK: only on methods of SEI
- private ClassLoader classLoader;
/*
* Default Constructor
@@ -156,6 +156,24 @@
}
/**
+ * @return Returns the exceptions.
+ */
+ public Class[] getExceptionTypes() {
+ //TODO: Implement this...
+ //for each exception in the array, convert it to a class, and return that
+ //If a classloader was not set, then just use the default
+ Class[] classes = new Class[0];
+ return classes;
+ }
+
+ /**
+ * @return Returns the fully qualified name of the declaring class.
+ */
+ public String getDeclaringClass() {
+ return declaringClass;
+ }
+
+ /**
* @param methodName The methodName to set.
*/
public void setMethodName(String methodName) {
@@ -246,7 +264,6 @@
* @param parameterDescription The parameterDescription to add to the set.
*/
public void addParameterDescriptionComposite(ParameterDescriptionComposite parameterDescription) {
- parameterDescription.setClassLoader(this.classLoader);
parameterDescriptions.add(parameterDescription);
}
@@ -284,6 +301,13 @@
*/
public void setExceptions(String[] exceptions) {
this.exceptions = exceptions;
+ }
+
+ /**
+ * @param declaringClass The wrapper class to set.
+ */
+ public void setDeclaringClass(String declaringClass) {
+ this.declaringClass = declaringClass;
}
/**
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java?view=diff&rev=470019&r1=470018&r2=470019
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java (original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/description/builder/ParameterDescriptionComposite.java Wed Nov 1 09:59:19 2006
@@ -82,6 +82,8 @@
* Do lazy loading
*/
public Type getParameterGenericType() {
+
+ //TODO: Determine if this is a parameterized generic type
//TODO: Need to set this based on the parameterTypeClass ...hmmm
return parameterGenericType;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org