Re: svn commit: r1028219 - in /openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans: component/ResourceBean.java proxy/JavassistProxyFactory.java

2010-11-03 Thread Gurkan Erdogdu
Thanks Joe.


I have corrected!

Thanks;

--Gurkan



- Original Message 
From: Joseph Bergmark 
To: dev@openwebbeans.apache.org
Sent: Thu, November 4, 2010 2:47:05 AM
Subject: Re: svn commit: r1028219 - in 
/openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans:
 component/ResourceBean.java proxy/JavassistProxyFactory.java

This change to ResourceBean doesn't compile.  It appears to be a partial
backport.  I attempted to quickly resolve it by bringing in the
ResourceProxyHandler from trunk but hit another set of failures.

In the meantime I have reverted it.

Sincerely,

Joe

On Thu, Oct 28, 2010 at 4:44 AM,  wrote:

> Author: gerdogdu
> Date: Thu Oct 28 08:44:01 2010
> New Revision: 1028219
>
> URL: http://svn.apache.org/viewvc?rev=1028219&view=rev
> Log:
> [OWB-486] ResourceBean tries to proxy final classes before testing them for
> being final, thanks to David Jencks, Also includes sync. problem that Ying
> has provided
>
> Modified:
>
>  
>openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
>
>
>  
>openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
>
>
> Modified:
>openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
>a
> URL:
>http://svn.apache.org/viewvc/openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java?rev=1028219&r1=1028218&r2=1028219&view=diff
>f
>
> ==
> ---
>openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
>a
> (original)
> +++
>openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
>a
> Thu Oct 28 08:44:01 2010
> @@ -21,8 +21,6 @@ package org.apache.webbeans.component;
>  import java.lang.annotation.Annotation;
>  import java.lang.reflect.Modifier;
>
> -import javassist.util.proxy.ProxyFactory;
> -
>  import javax.enterprise.context.spi.CreationalContext;
>
>  import javassist.util.proxy.ProxyObject;
> @@ -35,8 +33,6 @@ import org.apache.webbeans.spi.api.Resou
>
>  public class ResourceBean extends
> ProducerFieldBean
>  {
> -private X actualResourceReference = null;
> -
> private ResourceReference resourceReference = null;
>
> public ResourceBean(Class returnType, InjectionTargetBean
> ownerBean,
> @@ -55,37 +51,38 @@ public class ResourceBean X instance = null;
> try
> {
> -//X TODO cache proxy class!
> -ProxyFactory proxyFactory =
> JavassistProxyFactory.getInstance().createProxyFactory(this);
> -
> ResourceInjectionService resourceService =
> ServiceLoader.getService(ResourceInjectionService.class);
> -this.actualResourceReference =
> resourceService.getResourceReference(this.resourceReference);
> +instance =
> resourceService.getResourceReference(this.resourceReference);
>
> -instance =
>(X)(JavassistProxyFactory.getInstance().getProxyClass(proxyFactory).newInstance());
>;
> -((ProxyObject)instance).setHandler(new
> ResourceProxyHandler(this.actualResourceReference));
> -}
> -catch (Exception e)
> -{
> -//check type is final
> -//return actual resource
> -
>  if(Modifier.isFinal(this.actualResourceReference.getClass().getModifiers()))
> +if (instance != null &&
> Modifier.isFinal(instance.getClass().getModifiers()))
> {
> -return this.actualResourceReference;
> +return instance;
> }
>
> +instance = (X)
>JavassistProxyFactory.getInstance().getResourceBeanProxyClass(this).newInstance();
>;
> +((ProxyObject) instance).setHandler(new
> ResourceProxyHandler(this,instance));
> +}
> +catch (Exception e)
> +{
> throw new WebBeansException(e);
> }
> -
> +
> return instance;
> }
>
> -@Override
> -protected void destroyInstance(X instance, CreationalContext
> creationalContext)
> +/**
> + * Called after deserialization to get a new instance for some type of
> resource bean instance that are
> + * not serializable.
> + *
> + * @return a new instance of this resource bean.
> + */
> +public X getActualInstance()
> {
> -this.actualResourceReference = null;
> +ResourceInjectionService resourceService =
> ServiceLoa

Re: svn commit: r1028219 - in /openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans: component/ResourceBean.java proxy/JavassistProxyFactory.java

2010-11-03 Thread Joseph Bergmark
This change to ResourceBean doesn't compile.  It appears to be a partial
backport.  I attempted to quickly resolve it by bringing in the
ResourceProxyHandler from trunk but hit another set of failures.

In the meantime I have reverted it.

Sincerely,

Joe

On Thu, Oct 28, 2010 at 4:44 AM,  wrote:

> Author: gerdogdu
> Date: Thu Oct 28 08:44:01 2010
> New Revision: 1028219
>
> URL: http://svn.apache.org/viewvc?rev=1028219&view=rev
> Log:
> [OWB-486] ResourceBean tries to proxy final classes before testing them for
> being final, thanks to David Jencks, Also includes sync. problem that Ying
> has provided
>
> Modified:
>
>  
> openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
>
>  
> openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
>
> Modified:
> openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
> URL:
> http://svn.apache.org/viewvc/openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java?rev=1028219&r1=1028218&r2=1028219&view=diff
>
> ==
> ---
> openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
> (original)
> +++
> openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/component/ResourceBean.java
> Thu Oct 28 08:44:01 2010
> @@ -21,8 +21,6 @@ package org.apache.webbeans.component;
>  import java.lang.annotation.Annotation;
>  import java.lang.reflect.Modifier;
>
> -import javassist.util.proxy.ProxyFactory;
> -
>  import javax.enterprise.context.spi.CreationalContext;
>
>  import javassist.util.proxy.ProxyObject;
> @@ -35,8 +33,6 @@ import org.apache.webbeans.spi.api.Resou
>
>  public class ResourceBean extends
> ProducerFieldBean
>  {
> -private X actualResourceReference = null;
> -
> private ResourceReference resourceReference = null;
>
> public ResourceBean(Class returnType, InjectionTargetBean
> ownerBean,
> @@ -55,37 +51,38 @@ public class ResourceBean X instance = null;
> try
> {
> -//X TODO cache proxy class!
> -ProxyFactory proxyFactory =
> JavassistProxyFactory.getInstance().createProxyFactory(this);
> -
> ResourceInjectionService resourceService =
> ServiceLoader.getService(ResourceInjectionService.class);
> -this.actualResourceReference =
> resourceService.getResourceReference(this.resourceReference);
> +instance =
> resourceService.getResourceReference(this.resourceReference);
>
> -instance =
> (X)(JavassistProxyFactory.getInstance().getProxyClass(proxyFactory).newInstance());
> -((ProxyObject)instance).setHandler(new
> ResourceProxyHandler(this.actualResourceReference));
> -}
> -catch (Exception e)
> -{
> -//check type is final
> -//return actual resource
> -
>  if(Modifier.isFinal(this.actualResourceReference.getClass().getModifiers()))
> +if (instance != null &&
> Modifier.isFinal(instance.getClass().getModifiers()))
> {
> -return this.actualResourceReference;
> +return instance;
> }
>
> +instance = (X)
> JavassistProxyFactory.getInstance().getResourceBeanProxyClass(this).newInstance();
> +((ProxyObject) instance).setHandler(new
> ResourceProxyHandler(this,instance));
> +}
> +catch (Exception e)
> +{
> throw new WebBeansException(e);
> }
> -
> +
> return instance;
> }
>
> -@Override
> -protected void destroyInstance(X instance, CreationalContext
> creationalContext)
> +/**
> + * Called after deserialization to get a new instance for some type of
> resource bean instance that are
> + * not serializable.
> + *
> + * @return a new instance of this resource bean.
> + */
> +public X getActualInstance()
> {
> -this.actualResourceReference = null;
> +ResourceInjectionService resourceService =
> ServiceLoader.getService(ResourceInjectionService.class);
> +X instance =
> resourceService.getResourceReference(this.resourceReference);
> +return instance;
> }
> -
> -
> +
> public boolean isPassivationCapable()
> {
> return true;
>
> Modified:
> openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java
> URL:
> http://svn.apache.org/viewvc/openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/proxy/JavassistProxyFactory.java?rev=1028219&r1=1028218&r2=1028219&view=diff
>
> ==
> ---
> openwebbeans/branches/owb_1.0.x/webbeans-impl/src/main/java/org/apache/webbeans/proxy/Ja