Return-Path: Delivered-To: apmail-ibatis-user-java-archive@www.apache.org Received: (qmail 18834 invoked from network); 14 May 2010 11:38:51 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 14 May 2010 11:38:51 -0000 Received: (qmail 42531 invoked by uid 500); 14 May 2010 11:38:50 -0000 Delivered-To: apmail-ibatis-user-java-archive@ibatis.apache.org Received: (qmail 42379 invoked by uid 500); 14 May 2010 11:38:50 -0000 Mailing-List: contact user-java-help@ibatis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user-java@ibatis.apache.org Delivered-To: mailing list user-java@ibatis.apache.org Received: (qmail 42372 invoked by uid 99); 14 May 2010 11:38:49 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 May 2010 11:38:49 +0000 X-ASF-Spam-Status: No, hits=-2.4 required=10.0 tests=AWL,RCVD_IN_DNSWL_HI,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of nicky.jha@jpmchase.com designates 159.53.110.137 as permitted sender) Received: from [159.53.110.137] (HELO sj1.jpmchase.com) (159.53.110.137) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 May 2010 11:38:42 +0000 Received: from si4.svr.bankone.net (si4.svr.bankone.net [155.180.56.116]) by sj1.jpmchase.com (Switch-3.3.3mp/Switch-3.3.3mp) with ESMTP id o4EBcLiO028737 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL) for ; Fri, 14 May 2010 07:38:21 -0400 X-DKIM: Sendmail DKIM Filter v2.5.6 sj1.jpmchase.com o4EBcLiO028737 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=jpmchase.com; s=smtpout; t=1273837101; bh=gTNK4RuU4icxAh/6iv0d99Z5XkIhxpWjQsQEIze UBus=; h=From:To:Date:Subject:Message-ID:References:In-Reply-To: Content-Type:Content-Transfer-Encoding:MIME-Version; b=GGYY0auSsuA l5BnWnM1SRp/CAlusZbshfIwhlW4T/GTj9TeQcZmUjp5ETXF5Q66pgLzQUbk0j1Y5J7 A8gMuxAqsDkfHlWiJABPpCDZnHZRzjS4txAAJ5SZJE05y+eScWlqHc4XveKQMNJ7mtG WEb0KVyJw9wXDdXuaQ3o8928QI= Received: from svr.bankone.net ([172.18.0.50]) by si4.svr.bankone.net (Switch-3.4.3/Switch-3.3.3mp) with ESMTP id o4EBcKGq009396 for ; Fri, 14 May 2010 07:38:21 -0400 Received: from ([169.70.190.246]) by imj2.svr.bankone.net with ESMTP id 5503227.30859875; Fri, 14 May 2010 07:38:16 -0400 Received: from HUBCR107.exchad.jpmchase.net (169.70.184.126) by HUBCR103.exchad.jpmchase.net (169.70.190.246) with Microsoft SMTP Server (TLS) id 8.1.393.1; Fri, 14 May 2010 07:38:15 -0400 Received: from HUBI103.exchad.jpmchase.net (169.76.158.35) by HUBCR107.exchad.jpmchase.net (169.70.184.126) with Microsoft SMTP Server (TLS) id 8.1.393.1; Fri, 14 May 2010 07:38:15 -0400 Received: from EMAIC104Vs01.exchad.jpmchase.net ([169.76.158.14]) by HUBI103.exchad.jpmchase.net ([169.76.158.35]) with mapi; Fri, 14 May 2010 17:08:12 +0530 From: Nicky Jha To: "user-java@ibatis.apache.org" Date: Fri, 14 May 2010 17:08:14 +0530 Subject: RE: Need support for Dynamic procedure invocation Thread-Topic: Need support for Dynamic procedure invocation Thread-Index: AcrzV+WKmV3RzvYeRFaVEg98szbHMAAAac+w Message-ID: <526CFDB395AB9D44B309022DF9BE86861AC681C530@EMAIC104VS01.exchad.jpmchase.net> References: <526CFDB395AB9D44B309022DF9BE86861AC681C47C@EMAIC104VS01.exchad.jpmchase.net> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Hi Jeff, Thanks for this, if I was to do as suggested and compose the entire string = with parameter values, how will the parameter types (e.g. date, smallint et= c) be handled? Nicky!=20 -----Original Message----- From: Jeff Butler [mailto:jeffgbutler@gmail.com]=20 Sent: Friday, May 14, 2010 4:53 PM To: user-java@ibatis.apache.org Subject: Re: Need support for Dynamic procedure invocation This won't work (as you've discovered). iBATIS 2.x does not reparse the string for variables after string substitution. You'll need to do this with the dynamic tags, or you'll need to compose the entire string (including parameter values - like {call myproc('fred')}). Jeff Butler On Fri, May 14, 2010 at 4:12 AM, Nicky Jha wrote: > Hi Team, > > > > I am having hard time resolving following issue.Please help. > > We are using Ibatis 2.X. > > In our application we want capability to invoke stored procedure by readi= ng > it from property xml file.We provide procedure name parameters, parameter= s > type to =A0property xml file. > > Now from this xml file I have created one dynamic procedure string like > procedureName(#stringVal1#,#stringVal2#,#stringVal3#,#intVal1#,#byteVal1#= ). > > Now I want to call this procedure from Ibatis SQL mapping XML like this > > > > parameterClass=3D"com.jpmorgan.pyramid.pyrsyst.configure.ProcParameterMap= per"> > > {call $procedureName$ } > > > > > > > > Please refer below for ProcParameterMapper class. Now as soon as iBatis s= ees > =A0$procedureName$, it replaces it with say > (#stringVal1#,#stringVal2#,#stringVal3#,#intVal1#,#byteVal1#) but it does > not replace the placeHolder(#), it passes on this as it is.Which is a iss= ue. > > > > If we type > procedureName(#stringVal1#,#stringVal2#,#stringVal3#,#intVal1#,#byteVal1) > directly into SQL mapping XML, it replaces place holder, but with string > substitution , it does not work.We can't type directly into mapping xML, = as > this string is composed at run time.Also dynamic tags are not of help, as > logic to create > (#stringVal1#,#stringVal2#,#stringVal3#,#intVal1#,#byteVal1#) complex > procedure with different types of parameter can't be written in mapping > XML.At least I am unable to do. > > > > I am really struck.Please suggest us the best way to deal with it. > > > > > > > > > > > > > > package com.jpmorgan.pyramid.pyrsyst.configure; > > > > import java.lang.reflect.Field; > > > > public class ProcParameterMapper { > > > > =A0=A0=A0=A0=A0 StringBuffer procedureName =3D new StringBuffer(""); > > =A0=A0=A0=A0=A0 boolean firstParam =3D true; > > =A0=A0=A0=A0=A0 boolean lastParam =3D false; > > > > =A0=A0=A0=A0=A0 String stringVal1; > > =A0=A0=A0=A0=A0 String stringVal2; > > =A0=A0=A0=A0=A0 String stringVal3; > > =A0=A0=A0=A0=A0 String stringVal4; > > =A0=A0=A0=A0=A0 String stringVal5; > > =A0=A0=A0=A0=A0 String stringVal6; > > =A0=A0=A0=A0=A0 String stringVal7; > > =A0=A0=A0=A0=A0 String stringVal8; > > =A0=A0=A0=A0=A0 String stringVal9; > > =A0=A0=A0=A0=A0 String stringVal10; > > > > =A0=A0=A0=A0=A0 int intVal1; > > =A0=A0=A0=A0=A0 int intVal2; > > =A0=A0=A0=A0=A0 int intVal3; > > =A0=A0=A0=A0=A0 int intVal4; > > =A0=A0=A0=A0=A0 int intVal5; > > =A0=A0=A0=A0=A0 int intVal6; > > =A0=A0=A0=A0=A0 int intVal7; > > =A0=A0=A0=A0=A0 int intVal8; > > =A0=A0=A0=A0=A0 int intVal9; > > =A0=A0=A0=A0=A0 int intVal10; > > > > =A0=A0=A0=A0=A0 byte byteVal1; > > =A0=A0=A0=A0=A0 byte byteVal2; > > =A0=A0=A0=A0=A0 byte byteVal3; > > =A0=A0=A0=A0=A0 byte byteVal4; > > =A0=A0=A0=A0=A0 byte byteVal5; > > > > =A0=A0=A0=A0=A0 public void setStringVal(String value, int count,String j= dbcType) > throws ConfigureException { > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Field[] field =3D ProcParameterMapper.c= lass.getDeclaredFields(); > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 for (int i =3D 0; i < field.length; i++= ) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 try { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if > (field[i].getName().endsWith(String.valueOf(count)) > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 && ("String") > > > .equals(field[i].getType().getSimpleName())) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 field[i].set(this, value); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 if (firstParam) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append("(#" + > field[i].getName()+"#"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 firstParam =3D false; > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } else if (lastParam) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append(",#" + > field[i].getName() +"#)"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } else { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append(",#" + > field[i].getName()+"#"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 break; > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } catch (Exception e)= { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 thr= ow new ConfigureException( > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "Exception setting String value in > paramMapper" > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 + e.g= etStackTrace()); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0 public void setIntVal(int value, int count,String jdbcTyp= e) throws > ConfigureException { > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Field[] field =3D ProcParameterMapper.c= lass.getDeclaredFields(); > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 for (int i =3D 0; i < field.length; i++= ) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 try { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if > (field[i].getName().endsWith(String.valueOf(count)) > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 && > ("int").equals(field[i].getType().getSimpleName())) { > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 field[i].set(this, value); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 if (firstParam) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append("(#" + > field[i].getName()+"#"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 firstParam =3D false; > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } else if (lastParam) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append(",#" + > field[i].getName() +"#)"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } else { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append(",#" + > field[i].getName()+"#"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 break; > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } catch (Exception e)= { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 thr= ow new ConfigureException( > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "Exception setting int value in > paramMapper" > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 + e.g= etStackTrace()); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0 public void setByteVal(Byte value, int count,String jdbcT= ype) throws > ConfigureException { > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Field[] field =3D ProcParameterMapper.c= lass.getDeclaredFields(); > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 for (int i =3D 0; i < field.length; i++= ) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 try { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 if > (field[i].getName().endsWith(String.valueOf(count)) > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 && > ("byte").equals(field[i].getType().getSimpleName())) { > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 field[i].set(this, value); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 if (firstParam) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append("(#" + > field[i].getName()+"#"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 firstParam =3D false; > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } else if (lastParam) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append(",#" + > field[i].getName() + "#)"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } else { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append(",#" + > field[i].getName()+"#"); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 } > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0 break; > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } catch (Exception e)= { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 thr= ow new ConfigureException( > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 "Exception setting byte value in > paramMapper" > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0= =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 + e.g= etStackTrace()); > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0 public String toString() { > > > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 return new String("stringVal1 is" + str= ingVal1 + "stringVal2 is" > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 + s= tringVal2 + "stringVal3 is" + stringVal3 + > "intVal1 is" > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 + i= ntVal1 + "intVal2 is" + intVal2 + "intVal3 is" + > intVal3); > > > > =A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0 public void setProcedure(String procName) { > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 procedureName.append(procName); > > > > =A0=A0=A0=A0=A0 } > > > > =A0=A0=A0=A0=A0 public String getProcedure(){ > > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 return procedureName.toString(); > > =A0=A0=A0=A0=A0 } > > > > } > > > > May thanks in advance > > Waiting for reply > > Nicky Jha > > > > This communication is for informational purposes only. It is not intended= as > an offer or solicitation for the purchase or sale of any financial > instrument or as an official confirmation of any transaction. All market > prices, data and other information are not warranted as to completeness o= r > accuracy and are subject to change without notice. Any comments or > statements made herein do not necessarily reflect those of JPMorgan Chase= & > Co., its subsidiaries and affiliates. This transmission may contain > information that is privileged, confidential, legally privileged, and/or > exempt from disclosure under applicable law. If you are not the intended > recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. Although this transmission and = any > attachments are believed to be free of any virus or other defect that mig= ht > affect any computer system into which it is received and opened, it is th= e > responsibility of the recipient to ensure that it is virus free and no > responsibility is accepted by JPMorgan Chase & Co., its subsidiaries and > affiliates, as applicable, for any loss or damage arising in any way from > its use. If you received this transmission in error, please immediately > contact the sender and destroy the material in its entirety, whether in > electronic or hard copy format. Thank you. Please refer to > http://www.jpmorgan.com/pages/disclosures for disclosures relating to > European legal entities. --------------------------------------------------------------------- To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org For additional commands, e-mail: user-java-help@ibatis.apache.org