This dont solve the problem (or explain it..)...

The problem is that despite that java.sql.Timestamp extends java.util.Date

I cant use the setProperty(<bean>, <property nane>, <timestamp value>)
(my property is of type java.util.Date)

If I call directly the set method, passing a timestamp value, it works.
WHY???

[]s
Freddy
----------------------------------------------------------------
Frederico Silva Guimar�es
Tel: (21) 9952-1717
ICQ: 127277403
Email: [EMAIL PROTECTED]
----------------------------------------------------------------

----- Original Message ----- From: "Charles Hudak" <[EMAIL PROTECTED]>
To: "Jakarta Commons Users List" <[EMAIL PROTECTED]>;
"MantissaHotmail" <[EMAIL PROTECTED]>
Sent: Tuesday, November 02, 2004 5:46 PM
Subject: RE: [BeanUtils] BeanUtils.populate is not working



I solved this by creating a new Converter class and registering it with the ConvertUtils:

public class TimestampConverter implements Converter
{
   public TimestampConverter()
   {
   }

   /* (non-Javadoc)
    * @see org.apache.commons.beanutils.Converter#convert(java.lang.Class,
java.lang.Object)
    */
   public Object convert(Class type, Object value) throws
ConversionException
   {
       if (value == null)
       {
           throw new ConversionException("No value specified");
       }

       // Support Calendar and Timestamp conversion
       if (value instanceof Timestamp)
       {
           return value;
       }
       else if (value instanceof Date)
       {
           return new Timestamp(((Date)value).getTime());
       }
       else if (value instanceof Calendar)
       {
           return new Timestamp(((Calendar)value).getTime().getTime());
       }
       else
       {
           throw new ConversionException("Type not supported: " +
value.getClass().getName());
       }
   }

}

To register it just use:

ConvertUtils.register(new TimestampConverter(), java.sql.Timestamp.class);

-----Original Message-----
From: MantissaHotmail [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 02, 2004 11:39 AM
To: [EMAIL PROTECTED]
Subject: [BeanUtils] BeanUtils.populate is not working


I'm using the beanUtils in an application. When I try to populate a bean via "BeanUtil.populate" I receive an error (the error is in the end of the mail) when the application tries to set a specific property:

private java.util.Date date;

public void setDate(Date date)
{
    this.date = date;
}

The value I'm rying to set is a java.sql.Timestamp (that
extends java.util.Date). If I change the set method to
receive an Objet instead of a Date the application works (If
I change to timesatamp I still receive the same error).


Caused by: java.lang.IllegalArgumentException: argument type mismatch at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess orImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth odAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(P ropertyUtils.java:1789) at org.apache.commons.beanutils.PropertyUtils.setNestedProperty(P ropertyUtils.java:1684) at org.apache.commons.beanutils.PropertyUtils.setProperty(Propert yUtils.java:1713) at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.j ava:1019) at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808) at br.com.db.bean.DBBeanInfo$DBBeanResultSetParser.parse(DBBeanIn
fo.java:125)

[]s Freddy ---------------------------------------------------------------- Frederico Silva Guimar�es Tel: (21) 9952-1717 ICQ: 127277403 Email: [EMAIL PROTECTED] ----------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to