Return-Path: X-Original-To: apmail-geronimo-dev-archive@www.apache.org Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 14DF67532 for ; Tue, 6 Sep 2011 07:35:38 +0000 (UTC) Received: (qmail 23444 invoked by uid 500); 6 Sep 2011 07:35:34 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 22996 invoked by uid 500); 6 Sep 2011 07:35:25 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 22980 invoked by uid 99); 6 Sep 2011 07:35:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Sep 2011 07:35:24 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of viola.lu@gmail.com designates 209.85.161.54 as permitted sender) Received: from [209.85.161.54] (HELO mail-fx0-f54.google.com) (209.85.161.54) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Sep 2011 07:35:17 +0000 Received: by fxe4 with SMTP id 4so5338983fxe.13 for ; Tue, 06 Sep 2011 00:34:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=N7jgnCaf6/qtdwwDrKUQctuwOwIEpa7cblC4lhcdVYY=; b=e3UNkfjSWNvBoVgjY4S+fYZPoGr4AD9RY6eHZ62c+Xhe3/+kn3EXulyQ2u67knSjOd d1utSWgvj39CoaSa7RcKhncsBJq+vkTHXZ8D53kZ5IignRkkV1H969s7BrXtJ/zSFmHW tN8AFab7VeuRXT54CkKeBEVMkQBAnKxdR1l7I= MIME-Version: 1.0 Received: by 10.223.98.129 with SMTP id q1mr502605fan.38.1315294495690; Tue, 06 Sep 2011 00:34:55 -0700 (PDT) Received: by 10.223.123.131 with HTTP; Tue, 6 Sep 2011 00:34:55 -0700 (PDT) In-Reply-To: References: <20110906064850.D6ADC238888F@eris.apache.org> Date: Tue, 6 Sep 2011 15:34:55 +0800 Message-ID: Subject: Re: svn commit: r1165512 - /geronimo/server/branches/2.1/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java From: viola lu To: dev@geronimo.apache.org Content-Type: multipart/alternative; boundary=0015174feef430d0c204ac40dd0a --0015174feef430d0c204ac40dd0a Content-Type: text/plain; charset=ISO-8859-1 Okay, i will change String to StringBuilder in String s. On Tue, Sep 6, 2011 at 3:06 PM, Shawn Jiang wrote: > Hi Viola, > > a quick comment. > > On Tue, Sep 6, 2011 at 2:48 PM, wrote: > >> Author: violalu >> Date: Tue Sep 6 06:48:50 2011 >> New Revision: 1165512 >> >> URL: http://svn.apache.org/viewvc?rev=1165512&view=rev >> Log: >> GERONIMO-6146 fix classcast exception when creating oracle rac datasource >> >> Modified: >> >> geronimo/server/branches/2.1/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java >> >> Modified: >> geronimo/server/branches/2.1/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java >> URL: >> http://svn.apache.org/viewvc/geronimo/server/branches/2.1/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java?rev=1165512&r1=1165511&r2=1165512&view=diff >> >> ============================================================================== >> --- >> geronimo/server/branches/2.1/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java >> (original) >> +++ >> geronimo/server/branches/2.1/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java >> Tue Sep 6 06:48:50 2011 >> @@ -21,6 +21,7 @@ import java.lang.reflect.Constructor; >> import java.util.HashMap; >> import java.util.LinkedHashSet; >> import java.util.Map; >> +import java.util.Properties; >> >> import javax.resource.ResourceException; >> import javax.resource.spi.ManagedConnectionFactory; >> @@ -190,7 +191,24 @@ public class ManagedConnectionFactoryWra >> ClassLoader oldTCL = thread.getContextClassLoader(); >> thread.setContextClassLoader(classLoader); >> try { >> - delegate.setAttribute(name, value); >> + //Convert java.util.Properties to java.lang.String >> + if(value != null && value instanceof Properties){ >> + Properties ps = (Properties) value; >> + if (!ps.isEmpty()) { >> + String s = null; >> + for (Object o : ps.keySet()) { >> + String k = (String) o; >> + String v = >> ps.getProperty(k); >> + s = k + "=" + v + ","; >> > > You might want to use StringBuffer/StringBuilder here. > > >> + log.debug("Setting " + k + >> "=" + value); >> > > Above line could be deleted becuase you added a full string log message > below. > > + } >> + delegate.setAttribute(name, s); >> + log.debug("Setting " + name + " >> value " + s); >> + } >> + } else { >> + delegate.setAttribute(name, value); >> + log.debug("Setting " + name + " value " + value); >> + } >> } finally { >> thread.setContextClassLoader(oldTCL); >> } >> >> >> > > > -- > Shawn > -- viola Apache Geronimo --0015174feef430d0c204ac40dd0a Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Okay, i will change String to StringBuilder in String s.

On Tue, Sep 6, 2011 at 3:06 PM, Shawn Jiang <genspring@gmail.com><= /span> wrote:
Hi Viola,

a quick comment.

On Tue, Sep 6, 2011 at 2:48 PM, <violalu@apache= .org> wrote:
Author: violalu
Date: Tue Sep =A06 06:48:50 2011
New Revision: 1165512

URL: http://svn.apache.org/viewvc?rev=3D1165512&view=3Drev=
Log:
GERONIMO-6146 fix classcast exception when creating oracle rac datasource
Modified:
=A0 =A0geronimo/server/branches/2.1/plugins/connector/geronimo-connector/s= rc/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactor= yWrapper.java

Modified: geronimo/server/branches/2.1/plugins/connector/geronimo-connector= /src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFact= oryWrapper.java
URL: http://svn.apach= e.org/viewvc/geronimo/server/branches/2.1/plugins/connector/geronimo-connec= tor/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionF= actoryWrapper.java?rev=3D1165512&r1=3D1165511&r2=3D1165512&view= =3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D
--- geronimo/server/branches/2.1/plugins/connector/geronimo-connector/src/m= ain/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWra= pper.java (original)
+++ geronimo/server/branches/2.1/plugins/connector/geronimo-connector/src/m= ain/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWra= pper.java Tue Sep =A06 06:48:50 2011
@@ -21,6 +21,7 @@ import java.lang.reflect.Constructor;
=A0import java.util.HashMap;
=A0import java.util.LinkedHashSet;
=A0import java.util.Map;
+import java.util.Properties;

=A0import javax.resource.ResourceException;
=A0import javax.resource.spi.ManagedConnectionFactory;
@@ -190,7 +191,24 @@ public class ManagedConnectionFactoryWra
=A0 =A0 =A0 =A0 ClassLoader oldTCL =3D thread.getContextClassLoader();
=A0 =A0 =A0 =A0 thread.setContextClassLoader(classLoader);
=A0 =A0 =A0 =A0 try {
- =A0 =A0 =A0 =A0 =A0 =A0delegate.setAttribute(name, value);
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 //Convert java.util.Properties to java.lang.S= tring
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 if(value !=3D null && value instanceo= f Properties){
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Properties ps =3D (Properties= ) value;
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (!ps.isEmp= ty()) {
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 String s =3D null;
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 for (Object o : ps.keySet()) {
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 String k =3D (String) o;
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 String v =3D ps.getProperty(k);
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 s =3D k + "=3D" + v + ",";

You might want to use StringBuffer/StringBuilder here.
= =A0
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 log.debug("Setting " + k + "=3D" + = value);

Above line could be deleted becuase you ad= ded a full string log message below.

+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 }
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 delegate.setAttribute(name, s);
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 log.debug("Setting " + name + " value " + s);
+ =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 delegate.setAttribute(name, v= alue);
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 log.debug("Setting "= ; + name + " value " + value);
+ =A0 =A0 =A0 =A0 =A0 =A0 =A0 }
=A0 =A0 =A0 =A0 } finally {
=A0 =A0 =A0 =A0 =A0 =A0 thread.setContextClassLoader(oldTCL);
=A0 =A0 =A0 =A0 }





--
Shawn



--
viola=

Apache Geronimo

--0015174feef430d0c204ac40dd0a--