package com.cfinkel.reports.valuelist; import net.mlw.vlh.adapter.jdbc.dynabean.fix.ResultSetDynaClass; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.ResultSetMetaData; import org.apache.commons.beanutils.DynaProperty; /** * $Author:charles $ * $Revision:10429 $ * $Date:2006-07-26 18:00:43 -0400 (Wed, 26 Jul 2006) $ * <p/> * created: * User: charles * Date: May 16, 2006 * Time: 7:43:28 PM * * Created to fix the lowercase bug */ public class CFResultSetDynaClass extends ResultSetDynaClass { public CFResultSetDynaClass(ResultSet resultSet, boolean lowerCase, boolean useName) throws SQLException { super(resultSet, lowerCase, useName); } protected DynaProperty createDynaProperty( ResultSetMetaData metadata, int i) throws SQLException { String name = ( useName ) ? metadata.getColumnName(i) : metadata.getColumnLabel(i); String className = null; try { className = metadata.getColumnClassName(i); } catch (SQLException e) { // this is a patch for HsqlDb to ignore exceptions // thrown by its metadata implementation } // Default to Object type if no class name could be retrieved // from the metadata Class clazz = Object.class; if (className != null) { clazz = loadClass(className); } return new DynaProperty(name, clazz); } }