Return-Path: Delivered-To: apmail-jakarta-commons-user-archive@www.apache.org Received: (qmail 41763 invoked from network); 22 Jun 2004 15:56:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 22 Jun 2004 15:56:06 -0000 Received: (qmail 18255 invoked by uid 500); 22 Jun 2004 15:10:49 -0000 Delivered-To: apmail-jakarta-commons-user-archive@jakarta.apache.org Received: (qmail 35209 invoked by uid 500); 22 Jun 2004 14:54:56 -0000 Mailing-List: contact commons-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Users List" Reply-To: "Jakarta Commons Users List" Delivered-To: mailing list commons-user@jakarta.apache.org Received: (qmail 24894 invoked by uid 99); 22 Jun 2004 14:32:45 -0000 Received: from [199.67.205.11] (HELO mail.citigroup.com) (199.67.205.11) by apache.org (qpsmtpd/0.27.1) with ESMTP; Tue, 22 Jun 2004 07:32:45 -0700 Received: from imbarc-ny01.ny.ssmb.com (imbarc-ny01.ny.ssmb.com [162.124.186.138]) by imbaspam-eu04.eur.nsroot.net (8.12.10/8.12.10/SSMB_EXT/ev: 10287 $) with ESMTP id i5MEWa3T015307 for ; Tue, 22 Jun 2004 15:32:36 +0100 (BST) Received: from mailhub-nyc3.ny.ssmb.com (mailhub-nyc3-hme0.ny.ssmb.com [162.124.148.17]) by imbarc-ny01.ny.ssmb.com (8.12.9/8.12.9/SSMB_QQQ_IN/1.1) with ESMTP id i5MEWXhY029792 for ; Tue, 22 Jun 2004 10:32:33 -0400 (EDT) Received: from exnysm01.nam.nsroot.net (exnysm01.nam.nsroot.net [162.124.194.73]) by mailhub-nyc3.ny.ssmb.com (8.12.10/8.12.10/CG_HUB) with ESMTP id i5MEVvqW000661 for ; Tue, 22 Jun 2004 10:32:30 -0400 (EDT) Received: from exnjmb22.nam.nsroot.net ([169.193.40.17]) by exnysm01.nam.nsroot.net with Microsoft SMTPSVC(5.0.2195.5600); Tue, 22 Jun 2004 10:31:39 -0400 X-MimeOLE: Produced By Microsoft Exchange V6.0.6487.1 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: [DbUtils] ClassCastException Date: Tue, 22 Jun 2004 10:31:39 -0400 Message-ID: <93AF13596239A243A4D4D1E66955CE2521A0E4@EXNJMB22.nam.nsroot.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [DbUtils] ClassCastException Thread-Index: AcRYZaE37WkoeiheSLWAh7gee155KQ== From: "Anderson, James H [IT]" To: "Jakarta Commons Users List" X-OriginalArrivalTime: 22 Jun 2004 14:31:39.0731 (UTC) FILETIME=[A17A6230:01C45865] X-Scanned-By: MIMEDefang 2.36 X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N (This is a resend of a msg I sent yesterday which I did not see appear = on the list. In fact, I haven't received any mail from the list for a = day or two...) I'm getting a ClassCastException that I don't understand. I hope someone = can help with this, because I'd very much like to be able to use DbUtil = on my project! The stack trace: org.apache.commons.dbutils.BasicRowProcessor$CaseInsensitiveHashMap java.lang.ClassCastException: = org.apache.commons.dbutils.BasicRowProcessor$CaseInsensitiveHashMap at com.ssmb.recom.aft.access.DbUtil.select(DbUtil.java:143) at com.ssmb.recom.aft.access.DbUtil.selectOneMapTrimmed(DbUtil.java:66) at = com.ssmb.recom.aft.datamanager.AftRequests.nextBusinessDate(AftRequests.j= ava:3454) at = com.ssmb.recom.aft.datamanager.AftRequests.nextBusinessDateAfter(AftReque= sts.java:3489) at = com.ssmb.recom.aft.datamanager.AftRequests.main(AftRequests.java:2920) The invoking code: java.sql.Date sqlDate =3D new java.sql.Date( date.getTime() ); String selectTradingDate =3D "select trading_date from = trade_days where trading_date >=3D ? and banking_day =3D 'B'"; Object[] params =3D { sqlDate }; boolean commit =3D true; Map h =3D null; try { h =3D (Map) DbUtil.selectOneMapTrimmed(selectTradingDate, = params, commit); } catch (Exception e) { logger.error("No trade date >=3D " + date, e); throw new RuntimeException(e.getMessage()); } java.util.Date tradeDate =3D (java.util.Date) = h.get("trading_date"); My wrapper code as invoked in the code, above: package com.ssmb.recom.aft.access; import java.sql.*; import java.util.*; import org.apache.commons.dbutils.*; import org.apache.commons.dbutils.handlers.*; import org.apache.commons.dbutils.wrappers.*; import org.apache.commons.beanutils.BeanUtils; import com.ssmb.recom.datamgr.RecomDataSource; public class DbUtil { [...] /** select one row, set param=3Dnull to avoid parameter substitution */ public static Object selectOneMapTrimmed(String query, Object[] param, = boolean commit) throws Exception { MapHandler h =3D new MapHandler() { public Object handle (ResultSet rs) throws SQLException { StringTrimmedResultSet wrapped =3D new StringTrimmedResultSet(rs); rs =3D ProxyFactory.instance().createResultSet(wrapped); Object returnVal =3D null; try { returnVal =3D super.handle(rs); } catch (SQLException e) { System.out.println(e.getMessage()); throw e; } return returnVal; } }; if (param =3D=3D null) { return select(query, h, commit); } else { return select(query, param, h, commit); } } [...] } The table being queried: table database creator created =20 ------------------ ---------- ---------- ---------- trade_days db2tst08 vimdbat 06/20/2000 column type length scale nulls ------------------ -------- ------ ----- ----- trading_date date 4 0 y =20 trading_day char 1 0 y =20 trading_dow smallint 2 0 y =20 banking_day char 1 0 y =20 -------------------- Note: When I execute this query using vanilla JDBC, everything works fine. Any help appreciated, jim --------------------------------------------------------------------- To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-user-help@jakarta.apache.org