Return-Path: X-Original-To: apmail-openwebbeans-dev-archive@www.apache.org Delivered-To: apmail-openwebbeans-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 D1181D03E for ; Thu, 15 Nov 2012 13:17:25 +0000 (UTC) Received: (qmail 67180 invoked by uid 500); 15 Nov 2012 13:17:25 -0000 Delivered-To: apmail-openwebbeans-dev-archive@openwebbeans.apache.org Received: (qmail 67146 invoked by uid 500); 15 Nov 2012 13:17:25 -0000 Mailing-List: contact dev-help@openwebbeans.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openwebbeans.apache.org Delivered-To: mailing list dev@openwebbeans.apache.org Received: (qmail 67124 invoked by uid 99); 15 Nov 2012 13:17:25 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Nov 2012 13:17:25 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [98.138.90.78] (HELO nm15.bullet.mail.ne1.yahoo.com) (98.138.90.78) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Nov 2012 13:17:17 +0000 Received: from [98.138.90.52] by nm15.bullet.mail.ne1.yahoo.com with NNFMP; 15 Nov 2012 13:16:55 -0000 Received: from [98.138.89.169] by tm5.bullet.mail.ne1.yahoo.com with NNFMP; 15 Nov 2012 13:16:55 -0000 Received: from [127.0.0.1] by omp1025.mail.ne1.yahoo.com with NNFMP; 15 Nov 2012 13:16:55 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 924398.52174.bm@omp1025.mail.ne1.yahoo.com Received: (qmail 78076 invoked by uid 60001); 15 Nov 2012 13:16:55 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1352985415; bh=bp7a/GOuvBg0srdbSji4CuZL1L0EvRwEN2HNqywOLTQ=; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=sZoxn6UsDd2TNChsmqPiMxzfyigC2FsuoQP2owY1eQbkGE0U7HuTAHDrNAsiuWVmMP1rXJw+Ikt0kx83/9QHSlceqzrT58ztfqktvzND3B86SOPS9LdFLLgowsp59VPPhWNMh7ZFnZwsmP8gLw4+sUwsbP9aIkJlxqz6aYnHMFo= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Rocket-MIMEInfo:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=10wFM8bM/Bm052ViTWCPJm8MO1j7U+IFJYjqv53Y2Tnutm3b+/REp3l5PuSPvOSkA+p2VNCMAQ/mL4pqfhLaEqFe817Qnhw/m80uxh2Q47Csny6R/bgMAFO1AY60gpyfXCsI0jYWfJW0oDEXsmoke+zonz9lqyrZ13A7PuS3ZHI=; X-YMail-OSG: mMAj5RAVM1mLzoqw4mVMcdV618BoyJ2pvNdz_AvB9aYusrv GjLWkGFGq8UG0_7ug0uAIADziQMuLpYXW8xRtSAVYMg0AybGnHA2o6jf2D3J R_dA8EgkQehQAxYaaFl2.4UuedRk6XXh0rdusSNeF07pxBmE4skEQypPr6h9 48dss1DhSpIeaXWvcEqsB5Www96uwSOulFKJKeJjuPjJbQ.I26qn66U9NgZm iLvVvh4LYPb.FTEssBUQYQ9EJfHPC0Bd4GF_LXl39aEmbwYH91mLlKt1hAWS WlzrasfrHh4XY.BW40aMvsWHji9IrV.BP8u11F7u8tv.B1kpJS0nxcu5H7vD QA03xDRXkeFHspAmf8bmoVGJCQDmP2kRw2TAobIU1DvHV9uDkCTaLqiIEDbc BAf8LUnnT8BvsHEByKOhK6Wa2RL6_9qWw9C.d9MwwSgOOjvbtUWrl0Q4CWis VVNmQg4J9JisAonrWy4plkLoCNod1UQOVwXfrnb9jC3FSazFJMj4_2e0xzOM bFVDQ7Musafamjp5lA0vHrgGmn0Y4QRkWhzcl7wkm16MZPDMJRGJU01be2ci e8c6DZ5zF5w-- Received: from [78.186.14.202] by web121502.mail.ne1.yahoo.com via HTTP; Thu, 15 Nov 2012 05:16:55 PST X-Rocket-MIMEInfo: 001.001,SGV5IE1hcmsKCgpJIGRvbid0IHRoaW5rIHRvIGNyZWF0ZSBKSVJBIGlzc3VlcyBmb3IgZXZlcnkgY29tbWl0LsKgIEkgdGhpbmsgdGhhdCB0aGlzIGlzIG5vdCBhIGJpZyBjaGFuZ2UsIHRoaXMgbWV0aG9kIGlzIG5vdCB1c2VkIGluIGFueXdoZXJlIGluIHRoZSBjb2RlYmFzZSBhbmQgb25seSB1c2VkIGZvciBFSkIgcHVycG9zZXMuIFNvbWVvbmUgcmVtb3ZlZCB0aGlzIGNvZGUgd2hpbGUgcmVtb3ZpbmcgSmF2YXNzaXN0IGZ1bmN0aW9uYWxpdHkgYW5kIGludHJvZHVjZXMgcmVncmVzc2lvbi4gU3VyZSB0byABMAEBAQE- X-Mailer: YahooMailWebService/0.8.123.460 References: <20121115122518.9E8A22388900@eris.apache.org> <1352985055.83944.YahooMailNeo@web28901.mail.ir2.yahoo.com> Message-ID: <1352985415.73998.YahooMailNeo@web121502.mail.ne1.yahoo.com> Date: Thu, 15 Nov 2012 05:16:55 -0800 (PST) From: Gurkan Erdogdu Reply-To: Gurkan Erdogdu Subject: Re: svn commit: r1409751 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy: ProxyFactory.java javassist/JavassistFactory.java To: "dev@openwebbeans.apache.org" In-Reply-To: <1352985055.83944.YahooMailNeo@web28901.mail.ir2.yahoo.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="1319493512-116892990-1352985415=:73998" X-Virus-Checked: Checked by ClamAV on apache.org --1319493512-116892990-1352985415=:73998 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hey Mark=0A=0A=0AI don't think to create JIRA issues for every commit.=C2= =A0 I think that this is not a big change, this method is not used in anywh= ere in the codebase and only used for EJB purposes. Someone removed this co= de while removing Javassist functionality and introduces regression. Sure t= o always open for a big changes!=0A=0A=0AGurkan=0A=0A=0A=0A________________= ________________=0A Kimden: Mark Struberg =0AKime: "dev@= openwebbeans.apache.org" =0AG=C3=B6nderildi= =C4=9Fi Tarih: 15 Kas=C4=B1m 2012 15:10 Per=C5=9Fembe=0AKonu: Re: svn commi= t: r1409751 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache= /webbeans/proxy: ProxyFactory.java javassist/JavassistFactory.java=0A =0AGu= rkan, please create a JIRA for all other than cosmetical changes!=0AThis is= a pretty big change internally and really requires a JIRA entry.=0A=0Atxs = and LieGrue,=0Astrub=0A=0A=0A=0A----- Original Message -----=0A> From: "ger= dogdu@apache.org" =0A> To: commits@openwebbeans.apache= .org=0A> Cc: =0A> Sent: Thursday, November 15, 2012 1:25 PM=0A> Subject: sv= n commit: r1409751 - in /openwebbeans/trunk/webbeans-impl/src/main/java/org= /apache/webbeans/proxy: ProxyFactory.java javassist/JavassistFactory.java= =0A> =0A> Author: gerdogdu=0A> Date: Thu Nov 15 12:25:17 2012=0A> New Revis= ion: 1409751=0A> =0A> URL: http://svn.apache.org/viewvc?rev=3D1409751&view= =3Drev=0A> Log:=0A> Regression in Javassist remove updates=0A> =0A> Modifie= d:=0A> =C2=A0 =C2=A0 =0A> openwebbeans/trunk/webbeans-impl/src/main/java/or= g/apache/webbeans/proxy/ProxyFactory.java=0A> =C2=A0 =C2=A0 =0A> openwebbea= ns/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/javassist/Ja= vassistFactory.java=0A> =0A> Modified: =0A> openwebbeans/trunk/webbeans-imp= l/src/main/java/org/apache/webbeans/proxy/ProxyFactory.java=0A> URL: =0A> h= ttp://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/= org/apache/webbeans/proxy/ProxyFactory.java?rev=3D1409751&r1=3D1409750&r2= =3D1409751&view=3Ddiff=0A> =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=0A> --- =0A> openwebbeans/trunk/webbea= ns-impl/src/main/java/org/apache/webbeans/proxy/ProxyFactory.java =0A> (ori= ginal)=0A> +++ =0A> openwebbeans/trunk/webbeans-impl/src/main/java/org/apac= he/webbeans/proxy/ProxyFactory.java =0A> Thu Nov 15 12:25:17 2012=0A> @@ -2= 2,6 +22,7 @@ import java.io.Serializable;=0A> import java.lang.reflect.Cons= tructor;=0A> import java.lang.reflect.InvocationTargetException;=0A> import= java.lang.reflect.Type;=0A> +import java.util.ArrayList;=0A> import java.u= til.HashSet;=0A> import java.util.Iterator;=0A> import java.util.List;=0A> = @@ -106,12 +107,60 @@ public final class ProxyFactory=0A> =C2=A0 =C2=A0 =C2= =A0 */=0A> =C2=A0 =C2=A0=C2=A0 public Class getEjbBeanProxyClass(OwbBean= bean, =0A> Class iface)=0A> =C2=A0 =C2=A0=C2=A0 {=0A> +=C2=A0 =C2=A0= =C2=A0 =C2=A0 Class proxyClass =3D null;=0A> +=0A> =C2=A0 =C2=A0 =C2=A0= =C2=A0=C2=A0 ConcurrentMap, Class> typeToProxyClassMap =0A> = =3D ejbProxyClasses.get(bean);=0A> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (typeToP= roxyClassMap !=3D null)=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (typeToProxyCla= ssMap =3D=3D null)=0A> =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 {=0A> -=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return typeToProxyClassMap.get(iface);=0A> = +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 typeToProxyClassMap =3D new Conc= urrentHashMap, =0A> Class>();=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 ConcurrentMap, Class> existingMap =3D =0A> ejbPro= xyClasses.putIfAbsent(bean, typeToProxyClassMap);=0A> +=C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 // us= e the map that beat us, because our new one definitely had no =0A> classes = in it.=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 typeToProxyClassMap = =3D (existingMap !=3D null) ? existingMap : =0A> typeToProxyClassMap; =0A> = =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 }=0A> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 return= null;=0A> +=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 proxyClass =3D typeToProxyCla= ssMap.get(iface);=0A> +=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (proxyClass =3D= =3D null)=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 {=0A> +=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 Class superClazz =3D null;=0A> +=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 List> list =3D new =0A> ArrayList>()= ;=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Class[] interfaces =3D = null;=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =0A> +=C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (iface.isInterface())=0A> +=C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 {=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 list.add(iface);=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 }=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 else =0A> +=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 // @LocalBean no-interface local view requested=0A> += =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 superClazz =3D ifac= e;=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 //Stateless= beans with no interface=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 //To failover bean instance=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 Class[] ifaces =3D iface.getInterfaces();=0A> += =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if(ifaces !=3D null= && ifaces.length > 0)=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 {=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 //check for serializable=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 for(Class temp : ifaces)=0A> +=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {=0A> += =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 if(temp =3D=3D Serializable.class)=0A> +=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {=0A> +=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 list.add(Serializable.class);=0A> +=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 break;=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 }=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 }=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 }=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }=C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 interfaces =3D new = Class[list.size()];=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 inter= faces =3D list.toArray(interfaces);=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 proxyClass =3D factory.getProxyClass(superClazz, interfaces);=0A> += =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 typeToProxyClassMap.putIfAbsent(iface, proxyClass);=0A> +=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 // don't care if we were beaten in u= pdating the =0A> iface->proxyclass map=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 }= =0A> +=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 return proxyClass;=0A> =C2=A0 =C2= =A0=C2=A0 }=0A> =C2=A0 =C2=A0 =0A> =C2=A0 =C2=A0=C2=A0 public Object create= DecoratorDelegate(OwbBean bean, =0A> DelegateHandler newDelegateHandler)= =0A> =0A> Modified: =0A> openwebbeans/trunk/webbeans-impl/src/main/java/org= /apache/webbeans/proxy/javassist/JavassistFactory.java=0A> URL: =0A> http:/= /svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/a= pache/webbeans/proxy/javassist/JavassistFactory.java?rev=3D1409751&r1=3D140= 9750&r2=3D1409751&view=3Ddiff=0A> =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=0A> --- =0A> openwebbeans/tru= nk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/javassist/Javassis= tFactory.java =0A> (original)=0A> +++ =0A> openwebbeans/trunk/webbeans-impl= /src/main/java/org/apache/webbeans/proxy/javassist/JavassistFactory.java = =0A> Thu Nov 15 12:25:17 2012=0A> @@ -38,7 +38,10 @@ public class Javassist= Factory=0A> =C2=A0 =C2=A0=C2=A0 {=0A> =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 Pro= xyFactory fact =3D new ProxyFactory();=0A> =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2= =A0 fact.setInterfaces(interfaces);=0A> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 fact.s= etSuperclass(superClass);=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 if(superClass != =3D null)=0A> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 {=0A> +=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 fact.setSuperclass(superClass);=C2=A0 =0A> +=C2=A0 =C2=A0= =C2=A0 =C2=A0 }=0A> =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 fact.setFilter(Final= izeMethodFilter.INSTANCE);=0A> =0A> =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 retur= n getProxyClass(fact);=0A> --1319493512-116892990-1352985415=:73998--