I think I unnderstood what happened.
Inside bean utils (I don't know why) the timesatamp value become a string. And Bean util (I don't know why either) can set a string to a timestamp property, but not to a date property. []s Freddy ---------------------------------------------------------------- Frederico Silva Guimar�es Tel: (21) 9952-1717 ICQ: 127277403 Email: [EMAIL PROTECTED] ----------------------------------------------------------------
----- Original Message ----- From: "MantissaHotmail" <[EMAIL PROTECTED]>
To: "Jakarta Commons Users List" <[EMAIL PROTECTED]>
Sent: Tuesday, November 02, 2004 9:20 PM
Subject: Re: [BeanUtils] BeanUtils.populate is not working
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);
fo.java:125)-----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
[]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]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
