IwcmRowSetDynaClass.java
package sk.iway.iwcm;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.beanutils.RowSetDynaClass;
/**
* IwcmRowSetDynaClass.java
*
* @Title webjet4
* @Company Interway s.r.o. (www.interway.sk)
* @Copyright Interway s.r.o. (c) 2001-2008
* @author $Author: thaber $
* @version $Revision: 1.1 $
* @created Date: 26.5.2008 16:13:16
* @modified $Date: 2008/05/27 16:18:37 $
*/
public class IwcmRowSetDynaClass extends RowSetDynaClass
{
private static final long serialVersionUID = 1L;
public IwcmRowSetDynaClass(ResultSet rs) throws SQLException
{
super(rs, true, -1, true);
}
@Override
protected void copy(ResultSet resultSet) throws SQLException
{
int cnt = 0;
while (resultSet.next() && (limit < 0 || cnt++ < limit))
{
DynaBean bean = createDynaBean();
for (int i = 0; i < properties.length; i++)
{
String name = properties[i].getName();
//v oracle 10g jdbc driveroch je chyba, vdaka ktorej vracia oracle.sql.DATE tam kde by mal vracat oracle.sql.Timestamp
if (resultSet.getObject(name) instanceof oracle.sql.DATE)
{
bean.set(name, new oracle.sql.TIMESTAMP((oracle.sql.DATE)resultSet.getObject(name)));
}
else if(resultSet.getObject(name) instanceof net.sourceforge.jtds.jdbc.ClobImpl)
{
bean.set(name, resultSet.getString(name));
}
else
{
bean.set(name, resultSet.getObject(name));
}
}
rows.add(bean);
}
}
@Override
protected DynaBean createDynaBean()
{
return (new IwcmBasicDynaBean(this));
}
}