axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sc...@apache.org
Subject svn commit: r637409 - /webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/utility/PropertyDescriptorPlus.java
Date Sat, 15 Mar 2008 13:33:22 GMT
Author: scheu
Date: Sat Mar 15 06:33:22 2008
New Revision: 637409

URL: http://svn.apache.org/viewvc?rev=637409&view=rev
Log:
Add debug trace to PropertyDescriptorPlus to help determine failures.

Modified:
    webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/utility/PropertyDescriptorPlus.java

Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/utility/PropertyDescriptorPlus.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/utility/PropertyDescriptorPlus.java?rev=637409&r1=637408&r2=637409&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/utility/PropertyDescriptorPlus.java
(original)
+++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/utility/PropertyDescriptorPlus.java
Sat Mar 15 06:33:22 2008
@@ -130,26 +130,41 @@
     public void set(Object targetBean, Object propValue)
             throws InvocationTargetException, IllegalAccessException, JAXBWrapperException
{
 
-        // No set occurs if the value is null
-        if (propValue == null) {
-            return;
-        }
+        Method writeMethod  = null;
+        try {
+            // No set occurs if the value is null
+            if (propValue == null) {
+                return;
+            }
 
-        // There are 3 different types of setters that can occur.
-        // 1) Normal Attomic Setter : setFoo(type)
-        // 2) Indexed Array Setter : setFoo(type[])
-        // 3) No Setter case if the property is a List<T>.
+            // There are 3 different types of setters that can occur.
+            // 1) Normal Attomic Setter : setFoo(type)
+            // 2) Indexed Array Setter : setFoo(type[])
+            // 3) No Setter case if the property is a List<T>.
 
-        Method writeMethod = descriptor.getWriteMethod();
-        if (descriptor instanceof IndexedPropertyDescriptor) {
-            // Set for indexed  T[]
-            setIndexedArray(targetBean, propValue, writeMethod);
-        } else if (writeMethod == null) {
-            // Set for List<T>
-            setList(targetBean, propValue);
-        } else {
-            // Normal case
-            setAtomic(targetBean, propValue, writeMethod);
+            writeMethod = descriptor.getWriteMethod();
+            if (descriptor instanceof IndexedPropertyDescriptor) {
+                // Set for indexed  T[]
+                setIndexedArray(targetBean, propValue, writeMethod);
+            } else if (writeMethod == null) {
+                // Set for List<T>
+                setList(targetBean, propValue);
+            } else {
+                // Normal case
+                setAtomic(targetBean, propValue, writeMethod);
+            }
+        } catch (RuntimeException e) {
+            
+            if (DEBUG_ENABLED) {
+                String propClass = (propValue == null) ? "null" : propValue.getClass().getName();
+                log.debug("An exception occurred while attempting to set a property on "
+
+                          targetBean.getClass().getName());
+                log.debug("The setter method is " + writeMethod );
+                log.debug("The class of the argument is :" +propClass);
+                log.debug("The PropertyDescriptor is: " + this.toString());
+                log.debug("The exception is: " + e);
+            }
+            throw e;
         }
     }
 



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


Mime
View raw message