dims 2002/11/29 19:33:42
Modified: java/src/org/apache/axis/utils JavaUtils.java
Log:
Fix for Bug 13154 - BeanDeser... and java.sql.Date
Revision Changes Path
1.84 +20 -15 xml-axis/java/src/org/apache/axis/utils/JavaUtils.java
Index: JavaUtils.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/JavaUtils.java,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -r1.83 -r1.84
--- JavaUtils.java 22 Oct 2002 19:33:45 -0000 1.83
+++ JavaUtils.java 30 Nov 2002 03:33:41 -0000 1.84
@@ -55,6 +55,17 @@
package org.apache.axis.utils;
+import org.apache.axis.attachments.AttachmentPart;
+import org.apache.axis.components.image.ImageIO;
+import org.apache.axis.components.image.ImageIOFactory;
+import org.apache.axis.components.logger.LogFactory;
+import org.apache.axis.types.HexBinary;
+import org.apache.commons.logging.Log;
+
+import javax.activation.DataHandler;
+import javax.xml.soap.SOAPException;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
import java.awt.Image;
import java.beans.Introspector;
import java.io.IOException;
@@ -63,7 +74,6 @@
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.text.Collator;
-import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
@@ -75,21 +85,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
import java.util.Set;
-import java.util.Vector;
-
-import javax.activation.DataHandler;
-import javax.xml.soap.SOAPException;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import org.apache.axis.attachments.AttachmentPart;
-import org.apache.axis.components.image.ImageIO;
-import org.apache.axis.components.image.ImageIOFactory;
-import org.apache.axis.components.logger.LogFactory;
-import org.apache.axis.types.HexBinary;
-import org.apache.commons.logging.Log;
/** Utility class to deal with Java language related issues, such
* as type conversions.
@@ -250,6 +246,11 @@
return ((Calendar) arg).getTime();
}
+ // Convert between Calendar and java.sql.Date
+ if (arg instanceof Calendar && destClass == java.sql.Date.class) {
+ return new java.sql.Date(((Calendar) arg).getTime().getTime());
+ }
+
// Convert between HashMap and Hashtable
if (arg instanceof HashMap && destClass == Hashtable.class) {
return new Hashtable((HashMap)arg);
@@ -517,6 +518,10 @@
// Allow mapping of Calendar to Date
if (Calendar.class.isAssignableFrom(src) && dest == Date.class)
+ return true;
+
+ // Allow mapping of Calendar to java.sql.Date
+ if (Calendar.class.isAssignableFrom(src) && dest == java.sql.Date.class)
return true;
}