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 45E00D258 for ; Thu, 15 Nov 2012 13:50:59 +0000 (UTC) Received: (qmail 53920 invoked by uid 500); 15 Nov 2012 13:50:59 -0000 Delivered-To: apmail-openwebbeans-dev-archive@openwebbeans.apache.org Received: (qmail 53821 invoked by uid 500); 15 Nov 2012 13:50:58 -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 53781 invoked by uid 99); 15 Nov 2012 13:50:56 -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:50:56 +0000 X-ASF-Spam-Status: No, hits=1.9 required=5.0 tests=RCVD_IN_DNSWL_NONE,RCVD_IN_RP_RNBL,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [77.238.189.195] (HELO nm13-vm0.bullet.mail.ird.yahoo.com) (77.238.189.195) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Nov 2012 13:50:49 +0000 Received: from [212.82.105.247] by nm13.bullet.mail.ird.yahoo.com with NNFMP; 15 Nov 2012 13:50:24 -0000 Received: from [212.82.108.132] by tm19.bullet.mail.ird.yahoo.com with NNFMP; 15 Nov 2012 13:50:24 -0000 Received: from [127.0.0.1] by omp1037.mail.ird.yahoo.com with NNFMP; 15 Nov 2012 13:50:24 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 753387.18109.bm@omp1037.mail.ird.yahoo.com Received: (qmail 37611 invoked by uid 60001); 15 Nov 2012 13:50:24 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s1024; t=1352987424; bh=LOzpnehrvOeaFbTT/pU0KMoIZJEU+7fFzK8gV3muQIQ=; 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:Content-Transfer-Encoding; b=McEwXofS7hW5J90tnqLwzUuHK6l9QYQNsyZk02mxP8DnEGFZOD+rnnfusNqQtvLjvKC+bGIZxoLT7gXmRkku7mXdh/WHrJCUW9CB8DJjVpIHT+Yew/DFv8+ot0TdRb2PMicCu+jNzbvdEh5o/quWkkAFZI9XynAag14UDPQesww= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.de; 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:Content-Transfer-Encoding; b=lNtR/IUmjWz2vQc7OwBywFeeW2ustVMRgjJAxNG6IJtq4PVvm151bOp6hUx0GFw19EeMO0gsAPtqyer4iNR663oWr4vrehgZO2KY7QclCsIJDIZwMgnMs3bU6EuHuJEgaE/l90J91RB3PngLqWkBZTSKqzBCC3/F/OD4T1ssveg=; X-YMail-OSG: w8Ye.IEVM1nFUEyuixoITGjcrt3RvGJGMCiBUT.CKHjENrI rmlQi98jGEcT34F3diM9hr0y9bCuzED8S0.y1jbxqYbYE6xt4mRsfBDPrldI OD6RLzKau9.uV7gjz9axDYhz29KPE1B_LZnQl6IuhFMdIeh0QYZv.qmUZaVo I1lq9EiI29_qnTTJ1dr_egKTLbRqjv9DM0c8Y3lyh6O3CyLLt.9uBHh0s3.f 7fNCzAk897LozdEOXNd1srcVWcmmzxOe40PSmCs_NSZvSEGkgc.A.OH4AGKY tIBQLa7a_jvySzf3Z7nTp6IloTwK5g2WzvXOiK93kYuPhmzal903QQ.vudvB ne_hHAy336VCm6cx2cH64pOODxq3EtableS5Z1IOC36l6RPglk2PYUn07Q3A dNAvGQU6vF8x.ca7jZn47BQihxxl_JrqJPZi2y02NxT_iMAj7rA7SIA9DJsM dlZMNkx4OiQlNg.GUos9aSwp9UZYamuFCtgbi7o5gahhDh4Q2dYNXetXNmX7 zP74Eq.7tLlnD Received: from [80.108.122.184] by web28905.mail.ir2.yahoo.com via HTTP; Thu, 15 Nov 2012 13:50:24 GMT X-Rocket-MIMEInfo: 001.001,QWN0dWFsbHkgdGhhdCBjb2RlIGlzIHVzZWQgaW4gVG9tRUUgYWZhaWsuIFdlIG1pZ2h0IHRoaW5rIGFib3V0IGJldHRlciBzZXBhcmF0aW9uIGJldHdlZW4gQ0RJIGFuZCBFSkIgaW4gdGhlIGVuZC4KCkFsc28gdGhpcyBwYXJ0IHdvdWxkIG5lZWQgdW5pdCB0ZXN0IC0gYW5vdGhlciBhcmd1bWVudCBmb3IgY3JlYXRpbmcgYSBKSVJBLgoKTGllR3J1ZSwKc3RydWIKCgoKCi0tLS0tIE9yaWdpbmFsIE1lc3NhZ2UgLS0tLS0KPiBGcm9tOiBHdXJrYW4gRXJkb2dkdSA8Z3Vya2FuZXJkb2dkdUB5YWhvby5jb20.Cj4BMAEBAQE- X-Mailer: YahooMailWebService/0.8.123.460 References: <20121115122518.9E8A22388900@eris.apache.org> <1352985055.83944.YahooMailNeo@web28901.mail.ir2.yahoo.com> <1352985415.73998.YahooMailNeo@web121502.mail.ne1.yahoo.com> Message-ID: <1352987424.33993.YahooMailNeo@web28905.mail.ir2.yahoo.com> Date: Thu, 15 Nov 2012 13:50:24 +0000 (GMT) From: Mark Struberg Reply-To: Mark Struberg 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: <1352985415.73998.YahooMailNeo@web121502.mail.ne1.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org Actually that code is used in TomEE afaik. We might think about better sepa= ration between CDI and EJB in the end.=0A=0AAlso this part would need unit = test - another argument for creating a JIRA.=0A=0ALieGrue,=0Astrub=0A=0A=0A= =0A=0A----- Original Message -----=0A> From: Gurkan Erdogdu =0A> To: "dev@openwebbeans.apache.org" =0A> Cc: =0A> Sent: Thursday, November 15, 2012 2:16 PM=0A> Subject: Re:= svn commit: r1409751 - in /openwebbeans/trunk/webbeans-impl/src/main/java/= org/apache/webbeans/proxy: ProxyFactory.java javassist/JavassistFactory.jav= a=0A> =0A> Hey Mark=0A> =0A> =0A> I don't think to create JIRA issues for e= very commit.=C2=A0 I think that this is =0A> not a big change, this method = is not used in anywhere in the codebase and only =0A> used for EJB purposes= . Someone removed this code while removing Javassist =0A> functionality and= introduces regression. Sure to always open for a big changes!=0A> =0A> =0A= > Gurkan=0A> =0A> =0A> =0A> ________________________________=0A> Kimden: Ma= rk Struberg =0A> Kime: "dev@openwebbeans.apache.org" =0A= > =0A> G=C3=B6nderildi=C4=9Fi Tarih: 15 Kas= =C4=B1m 2012 15:10 Per=C5=9Fembe=0A> Konu: Re: svn commit: r1409751 - in = =0A> /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/pr= oxy: =0A> ProxyFactory.java javassist/JavassistFactory.java=0A> =0A> Gurkan= , please create a JIRA for all other than cosmetical changes!=0A> This is a= pretty big change internally and really requires a JIRA entry.=0A> =0A> tx= s and LieGrue,=0A> strub=0A> =0A> =0A> =0A> ----- Original Message -----=0A= >> From: "gerdogdu@apache.org" =0A>> To: commits@ope= nwebbeans.apache.org=0A>> Cc: =0A>> Sent: Thursday, November 15, 2012 1:2= 5 PM=0A>> Subject: svn commit: r1409751 - in =0A> /openwebbeans/trunk/webb= eans-impl/src/main/java/org/apache/webbeans/proxy: =0A> ProxyFactory.java j= avassist/JavassistFactory.java=0A>> =0A>> Author: gerdogdu=0A>> Date: Thu= Nov 15 12:25:17 2012=0A>> New Revision: 1409751=0A>> =0A>> URL: http://s= vn.apache.org/viewvc?rev=3D1409751&view=3Drev=0A>> Log:=0A>> Regression i= n Javassist remove updates=0A>> =0A>> Modified:=0A>> =C2=A0 =C2=A0 =0A>> = =0A> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/pro= xy/ProxyFactory.java=0A>> =C2=A0 =C2=A0 =0A>> =0A> openwebbeans/trunk/webb= eans-impl/src/main/java/org/apache/webbeans/proxy/javassist/JavassistFactor= y.java=0A>> =0A>> Modified: =0A>> =0A> openwebbeans/trunk/webbeans-impl/sr= c/main/java/org/apache/webbeans/proxy/ProxyFactory.java=0A>> URL: =0A>> = =0A> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main= /java/org/apache/webbeans/proxy/ProxyFactory.java?rev=3D1409751&r1=3D140975= 0&r2=3D1409751&view=3Ddiff=0A>> =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>> =0A> openw= ebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/proxy/ProxyFa= ctory.java =0A> =0A>> (original)=0A>> +++ =0A>> =0A> openwebbeans/trunk/w= ebbeans-impl/src/main/java/org/apache/webbeans/proxy/ProxyFactory.java =0A>= =0A>> Thu Nov 15 12:25:17 2012=0A>> @@ -22,6 +22,7 @@ import java.io.Ser= ializable;=0A>> import java.lang.reflect.Constructor;=0A>> import java.la= ng.reflect.InvocationTargetException;=0A>> import java.lang.reflect.Type;= =0A>> +import java.util.ArrayList;=0A>> import java.util.HashSet;=0A>> i= mport java.util.Iterator;=0A>> import java.util.List;=0A>> @@ -106,12 +10= 7,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> =0A> typeToProxyClassMap = =0A>> =3D ejbProxyClasses.get(bean);=0A>> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 if= (typeToProxyClassMap !=3D null)=0A>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (typ= eToProxyClassMap =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.ge= t(iface);=0A>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 typeToProxyClass= Map =3D new ConcurrentHashMap, =0A> =0A>> Class>();=0A>> +=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ConcurrentMap, Class> = =0A> existingMap =3D =0A>> ejbProxyClasses.putIfAbsent(bean, typeToProxyCl= assMap);=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 // use the map that beat us, because our= new one definitely =0A> 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 typeToProxyClassMap.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 re= quested=0A>> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 supe= rClazz =3D iface;=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 ifac= e.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(C= lass 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.clas= s)=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 interfaces =3D list.toArray(in= terfaces);=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 type= ToProxyClassMap.putIfAbsent(iface, proxyClass);=0A>> +=C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 // don't care if we were beaten in updating 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 createDecorat= orDelegate(OwbBean bean, =0A>> DelegateHandler newDelegateHandler)=0A>>= =0A>> Modified: =0A>> =0A> openwebbeans/trunk/webbeans-impl/src/main/java= /org/apache/webbeans/proxy/javassist/JavassistFactory.java=0A>> URL: =0A>>= =0A> http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/mai= n/java/org/apache/webbeans/proxy/javassist/JavassistFactory.java?rev=3D1409= 751&r1=3D1409750&r2=3D1409751&view=3Ddiff=0A>> =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>> =0A> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbea= ns/proxy/javassist/JavassistFactory.java =0A> =0A>> (original)=0A>> +++ = =0A>> =0A> openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbea= ns/proxy/javassist/JavassistFactory.java =0A> =0A>> Thu Nov 15 12:25:17 20= 12=0A>> @@ -38,7 +38,10 @@ public class JavassistFactory=0A>> =C2=A0 =C2= =A0=C2=A0 {=0A>> =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 ProxyFactory fact =3D n= ew ProxyFactory();=0A>> =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 fact.setInterfac= es(interfaces);=0A>> -=C2=A0 =C2=A0 =C2=A0 =C2=A0 fact.setSuperclass(super= Class);=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(FinalizeMethod= Filter.INSTANCE);=0A>> =0A>> =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0 return getP= roxyClass(fact);=0A>> =0A>