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 2007/02/07 02:46:58 UTC

svn commit: r504406 - /webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java

Author: scheu
Date: Tue Feb  6 17:46:57 2007
New Revision: 504406

URL: http://svn.apache.org/viewvc?view=rev&rev=504406
Log:
AXIS2-2126
Contributor:Dustin Amhrein
Defer loading parameter class type

Modified:
    webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java

Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java?view=diff&rev=504406&r1=504405&r2=504406
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/ParameterDescriptionImpl.java Tue Feb  6 17:46:57 2007
@@ -81,12 +81,6 @@
         this.paramDescComposite = pdc;
         this.parameterNumber = parameterNumber;
         this.parentOperationDescription = parent;
-        this.parameterType = pdc.getParameterTypeClass();
-        // If this is a JAX-WS Holder<T>, then get the Class for the actual type T also.
-        if (pdc.isHolderType()) {
-            this.parameterHolderActualType = pdc.getHolderActualTypeClass();
-        }
-        
         webParamAnnotation = pdc.getWebParamAnnot();
         
         //TODO: Need to build the schema map. Need to add logic to add this parameter
@@ -121,6 +115,9 @@
      * getParameterActualType() to get the class associated with T.
      */
     public Class getParameterType() {
+    	if(parameterType == null && paramDescComposite != null) {
+    		parameterType = paramDescComposite.getParameterTypeClass();
+    	}
         return parameterType;
     }
     
@@ -129,10 +126,18 @@
      * @return
      */
     public Class getParameterActualType() {
-        if (parameterHolderActualType != null) {
+        if (parameterHolderActualType == null && paramDescComposite != null && 
+        		paramDescComposite.isHolderType()) {
+            parameterHolderActualType = paramDescComposite.getHolderActualTypeClass();
             return parameterHolderActualType;
         }
+        else if(parameterHolderActualType != null) {
+        	return parameterHolderActualType;
+        }
         else {
+        	if(paramDescComposite != null && parameterType == null) {
+        		parameterType = paramDescComposite.getParameterTypeClass();
+        	}
             return parameterType;
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org