You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ar...@apache.org on 2013/04/26 20:29:40 UTC
svn commit: r1476331 - in /openwebbeans/trunk:
webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/
webbeans-impl/src/main/java/org/apache/webbeans/component/
webbeans-impl/src/main/java/org/apache/webbeans/component/third/
webbeans-imp...
Author: arne
Date: Fri Apr 26 18:28:00 2013
New Revision: 1476331
URL: http://svn.apache.org/r1476331
Log:
OWB-765: Fixed nullable handling
Modified:
openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanAttributesImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/DecoratorBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/component/JmsBean.java
Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/component/BaseEjbBean.java Fri Apr 26 18:28:00 2013
@@ -22,6 +22,7 @@ import org.apache.webbeans.component.Bea
import org.apache.webbeans.component.EnterpriseBeanMarker;
import org.apache.webbeans.component.InjectionTargetBean;
import org.apache.webbeans.component.WebBeansType;
+import org.apache.webbeans.component.spi.BeanAttributes;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.InjectionTargetFactoryImpl;
import org.apache.webbeans.util.ClassUtil;
@@ -56,7 +57,7 @@ public abstract class BaseEjbBean<T> ext
protected BaseEjbBean(WebBeansContext webBeansContext,
SessionBeanType type,
AnnotatedType<T> annotatedType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass,
InjectionTargetFactoryImpl<T> factory)
{
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractOwbBean.java Fri Apr 26 18:28:00 2013
@@ -33,6 +33,7 @@ import javax.enterprise.inject.spi.Injec
import javax.enterprise.inject.spi.InjectionTarget;
import javax.enterprise.inject.spi.Producer;
+import org.apache.webbeans.component.spi.BeanAttributes;
import org.apache.webbeans.config.OWBLogConst;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.context.creational.CreationalContextImpl;
@@ -74,10 +75,11 @@ public abstract class AbstractOwbBean<T>
protected AbstractOwbBean(WebBeansContext webBeansContext,
WebBeansType webBeansType,
- BeanAttributesImpl<T> beanAttributes,
- Class<?> beanClass)
+ BeanAttributes<T> beanAttributes,
+ Class<?> beanClass,
+ boolean nullable)
{
- super(beanAttributes);
+ super(beanAttributes, nullable);
this.webBeansType = webBeansType;
this.beanClass = beanClass;
this.webBeansContext = webBeansContext;
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/AbstractProducerBean.java Fri Apr 26 18:28:00 2013
@@ -25,7 +25,9 @@ import javax.enterprise.context.spi.Crea
import javax.enterprise.inject.spi.PassivationCapable;
import javax.enterprise.inject.spi.Producer;
+import org.apache.webbeans.component.spi.BeanAttributes;
import org.apache.webbeans.component.spi.ProducerFactory;
+import org.apache.webbeans.config.WebBeansContext;
/**
@@ -34,10 +36,8 @@ import org.apache.webbeans.component.spi
* @version $Rev$ $Date$
* @param <T> bean type info
*/
-public abstract class AbstractProducerBean<T> extends AbstractOwbBean<T> implements IBeanHasParent<T>, PassivationCapable
+public abstract class AbstractProducerBean<T> extends AbstractOwbBean<T> implements PassivationCapable
{
- /** Owner of the producer field component */
- protected InjectionTargetBean<?> ownerComponent;
private Class<T> returnType;
private Producer<T> producer;
@@ -47,14 +47,14 @@ public abstract class AbstractProducerBe
* @param returnType bean type info
* @param ownerComponent owner bean
*/
- protected AbstractProducerBean(InjectionTargetBean<?> ownerComponent,
+ protected AbstractProducerBean(Class<?> ownerBeanClass,
+ WebBeansContext webBeansContext,
WebBeansType webBeansType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> returnType,
ProducerFactory<?> producerFactory)
{
- super(ownerComponent.getWebBeansContext(), webBeansType, beanAttributes, ownerComponent.getBeanClass());
- this.ownerComponent = ownerComponent;
+ super(webBeansContext, webBeansType, beanAttributes, ownerBeanClass, !returnType.isPrimitive());
this.returnType = returnType;
this.producer = producerFactory.createProducer(this);
}
@@ -65,14 +65,6 @@ public abstract class AbstractProducerBe
return producer;
}
- /**
- * {@inheritDoc}
- */
- public InjectionTargetBean<?> getParent()
- {
- return ownerComponent;
- }
-
@Override
public Class<T> getReturnType()
{
@@ -101,20 +93,4 @@ public abstract class AbstractProducerBe
return false;
}
-
- @Override
- public int hashCode()
- {
- return super.hashCode() ^ ownerComponent.hashCode();
- }
-
- public boolean equals(Object object)
- {
- if (!super.equals(object))
- {
- return false;
- }
- AbstractProducerBean<?> other = (AbstractProducerBean<?>) object;
- return ownerComponent.equals(other.ownerComponent);
- }
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanAttributesImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanAttributesImpl.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanAttributesImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanAttributesImpl.java Fri Apr 26 18:28:00 2013
@@ -54,13 +54,13 @@ public class BeanAttributesImpl<T> imple
bean.isAlternative());
}
- public BeanAttributesImpl(BeanAttributesImpl<T> beanAttributes)
+ public BeanAttributesImpl(BeanAttributes<T> beanAttributes, boolean nullable)
{
this(beanAttributes.getTypes(),
beanAttributes.getQualifiers(),
beanAttributes.getScope(),
beanAttributes.getName(),
- beanAttributes.isNullable(),
+ nullable,
beanAttributes.getStereotypes(),
beanAttributes.isAlternative());
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BeanManagerBean.java Fri Apr 26 18:28:00 2013
@@ -35,6 +35,7 @@ public class BeanManagerBean extends Bui
WebBeansType.MANAGER,
new BeanAttributesImpl<BeanManager>(CollectionUtil.<Type>unmodifiableSet(BeanManager.class, Object.class), AnnotationUtil.DEFAULT_AND_ANY_ANNOTATION),
BeanManager.class,
+ false,
new SimpleProducerFactory<BeanManager>(new BeanManagerProducer(webBeansContext)));
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/BuildInOwbBean.java Fri Apr 26 18:28:00 2013
@@ -35,7 +35,7 @@ public abstract class BuildInOwbBean<T>
protected BuildInOwbBean(WebBeansContext webBeansContext, WebBeansType webBeansType, Class<T> returnType, ProducerFactory<T> producerFactory)
{
- this(webBeansContext, webBeansType, new BeanAttributesImpl<T>(CollectionUtil.<Type>unmodifiableSet(returnType, Object.class)), returnType, producerFactory);
+ this(webBeansContext, webBeansType, new BeanAttributesImpl<T>(CollectionUtil.<Type>unmodifiableSet(returnType, Object.class)), returnType, false, producerFactory);
}
protected BuildInOwbBean(
@@ -43,9 +43,10 @@ public abstract class BuildInOwbBean<T>
WebBeansType webBeansType,
BeanAttributesImpl<T> beanAttributes,
Class<T> returnType,
+ boolean nullable,
ProducerFactory<T> producerFactory)
{
- super(webBeansContext, webBeansType, beanAttributes, returnType);
+ super(webBeansContext, webBeansType, beanAttributes, returnType, nullable);
Asserts.assertNotNull(producerFactory, "ProducerFactory may not be null");
this.producer = producerFactory.createProducer(this);
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ConversationBean.java Fri Apr 26 18:28:00 2013
@@ -55,6 +55,7 @@ public class ConversationBean extends Bu
Collections.<Class<? extends Annotation>>emptySet(),
false),
ConversationImpl.class,
+ false,
new SimpleProducerFactory<ConversationImpl>(
new ConversationProducer(webBeansContext.getAnnotatedElementFactory().newAnnotatedType(ConversationImpl.class), webBeansContext)));
setEnabled(true);
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/DecoratorBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/DecoratorBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/DecoratorBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/DecoratorBean.java Fri Apr 26 18:28:00 2013
@@ -24,6 +24,7 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.util.Set;
+import org.apache.webbeans.component.spi.BeanAttributes;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.DecoratorInjectionTargetFactory;
@@ -51,7 +52,7 @@ public class DecoratorBean<T> extends In
public DecoratorBean(WebBeansContext webBeansContext,
WebBeansType webBeansType,
AnnotatedType<T> annotatedType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass)
{
super(webBeansContext, webBeansType, annotatedType, beanAttributes, beanClass, new DecoratorInjectionTargetFactory<T>(annotatedType, webBeansContext));
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/EventBean.java Fri Apr 26 18:28:00 2013
@@ -46,6 +46,7 @@ public class EventBean<T> extends BuildI
WebBeansType.OBSERVABLE,
new BeanAttributesImpl<Event<T>>(CollectionUtil.<Type>unmodifiableSet(new TypeLiteral<Event<T>>() {}.getRawType(), Object.class)),
new TypeLiteral<Event<T>>(){}.getRawType(),
+ false,
new SimpleProducerFactory<Event<T>>(new EventProducer<T>(webBeansContext)));
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ExtensionBean.java Fri Apr 26 18:28:00 2013
@@ -47,6 +47,7 @@ public class ExtensionBean<T> extends Bu
AnnotationUtil.DEFAULT_AND_ANY_ANNOTATION,
ApplicationScoped.class),
returnType,
+ false,
new ExtensionProducerFactory<T>(webBeansContext.getAnnotatedElementFactory().getAnnotatedType(returnType), webBeansContext));
}
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionPointBean.java Fri Apr 26 18:28:00 2013
@@ -34,6 +34,7 @@ public class InjectionPointBean extends
WebBeansType.INJECTIONPOINT,
new BeanAttributesImpl<InjectionPoint>(CollectionUtil.<Type>unmodifiableSet(InjectionPoint.class, Object.class)),
InjectionPoint.class,
+ false,
new SimpleProducerFactory<InjectionPoint>(new InjectionPointProducer()));
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InjectionTargetBean.java Fri Apr 26 18:28:00 2013
@@ -28,6 +28,7 @@ import java.util.Map;
import javax.enterprise.inject.spi.AnnotatedType;
+import org.apache.webbeans.component.spi.BeanAttributes;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.InjectionTargetFactoryImpl;
@@ -57,7 +58,7 @@ public abstract class InjectionTargetBea
protected InjectionTargetBean(WebBeansContext webBeansContext,
WebBeansType webBeansType,
AnnotatedType<T> annotatedType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass)
{
this(webBeansContext, webBeansType, annotatedType, beanAttributes, beanClass, new InjectionTargetFactoryImpl<T>(annotatedType, webBeansContext));
@@ -69,11 +70,11 @@ public abstract class InjectionTargetBea
protected InjectionTargetBean(WebBeansContext webBeansContext,
WebBeansType webBeansType,
AnnotatedType<T> annotatedType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass,
InjectionTargetFactoryImpl<T> factory)
{
- super(webBeansContext, webBeansType, beanAttributes, beanClass);
+ super(webBeansContext, webBeansType, beanAttributes, beanClass, false);
Asserts.assertNotNull(annotatedType, "AnnotatedType may not be null");
this.annotatedType = annotatedType;
this.injectionTarget = factory.createInjectionTarget(this);
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InstanceBean.java Fri Apr 26 18:28:00 2013
@@ -42,6 +42,7 @@ public class InstanceBean<T> extends Bui
new TypeLiteral<Provider<T>>() {}.getRawType(),
Object.class)),
new TypeLiteral<Instance<T>>(){}.getRawType(),
+ false,
new SimpleProducerFactory<Instance<T>>(
new InstanceProducer<T>(new TypeLiteral<Instance<T>>(){}.getRawType(), AnnotationUtil.DEFAULT_AND_ANY_ANNOTATION, webBeansContext)));
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/InterceptorBean.java Fri Apr 26 18:28:00 2013
@@ -29,6 +29,7 @@ import java.lang.reflect.Method;
import java.util.Collections;
import java.util.Map;
+import org.apache.webbeans.component.spi.BeanAttributes;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.InjectionTargetFactoryImpl;
import org.apache.webbeans.container.InterceptorInjectionTargetFactory;
@@ -57,7 +58,7 @@ public abstract class InterceptorBean<T>
protected InterceptorBean(WebBeansContext webBeansContext,
AnnotatedType<T> annotatedType,
- BeanAttributesImpl<T> beanAttributes,
+ BeanAttributes<T> beanAttributes,
Class<T> beanClass,
Map<InterceptionType, Method[]> interceptionMethods,
InjectionTargetFactoryImpl<T> factory)
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerFieldBean.java Fri Apr 26 18:28:00 2013
@@ -32,7 +32,7 @@ import org.apache.webbeans.util.WebBeans
*
* @param <T> Type of the field decleration
*/
-public class ProducerFieldBean<T> extends AbstractProducerBean<T> implements IBeanHasParent<T>
+public class ProducerFieldBean<T> extends AbstractProducerBean<T>
{
/** Producer field that defines the component */
@@ -45,7 +45,7 @@ public class ProducerFieldBean<T> extend
*/
public ProducerFieldBean(InjectionTargetBean<?> ownerComponent, BeanAttributesImpl<T> beanAttributes, Class<T> returnType, ProducerFactory<T> producerFactory)
{
- super(ownerComponent, WebBeansType.PRODUCERFIELD, beanAttributes, returnType, producerFactory);
+ super(ownerComponent.getBeanClass(), ownerComponent.getWebBeansContext(), WebBeansType.PRODUCERFIELD, beanAttributes, returnType, producerFactory);
}
/**
@@ -95,7 +95,7 @@ public class ProducerFieldBean<T> extend
" return type in the component implementation class : %s" +
" scope must be @Dependent to create null instance";
WebBeansUtil.checkNullInstance(instance, getScope(), errorMessage, producerField.getName(),
- ownerComponent.getReturnType().getName());
+ getBeanClass().getName());
}
/**
@@ -109,7 +109,7 @@ public class ProducerFieldBean<T> extend
" must be Serializable";
getWebBeansContext().getWebBeansUtil().checkSerializableScopeType(getScope(),
ClassUtil.isClassAssignable(Serializable.class, getReturnType()), errorMessage, producerField.getName(),
- ownerComponent.getReturnType().getName(), getScope().getName());
+ getBeanClass().getName(), getScope().getName());
}
@Override
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/ProducerMethodBean.java Fri Apr 26 18:28:00 2013
@@ -56,7 +56,7 @@ public class ProducerMethodBean<T> exten
Class<T> returnType,
MethodProducerFactory<P> producerFactory)
{
- super(ownerComponent, WebBeansType.PRODUCERMETHOD, beanAttributes, returnType, producerFactory);
+ super(ownerComponent.getBeanClass(), ownerComponent.getWebBeansContext(), WebBeansType.PRODUCERMETHOD, beanAttributes, returnType, producerFactory);
}
/**
@@ -96,7 +96,7 @@ public class ProducerMethodBean<T> exten
{
throw new WebBeansConfigurationException("There are multiple disposal method for producer method " +
"component with name : " + getName() + " with implementation class " +
- getParent().getReturnType().getName() + " with disposal method name : " +
+ getBeanClass().getName() + " with disposal method name : " +
disposalMethod.getName());
}
this.disposalMethod = disposalMethod;
@@ -136,7 +136,7 @@ public class ProducerMethodBean<T> exten
" return type in the component implementation class : %s" +
" scope type must be @Dependent to create null instance";
WebBeansUtil.checkNullInstance(instance, getScope(), errorMessage, creatorMethod.getName(),
- ownerComponent.getReturnType().getName());
+ getBeanClass().getName());
}
/**
@@ -149,7 +149,7 @@ public class ProducerMethodBean<T> exten
" with passivating scope @%s" +
" must be Serializable";
getWebBeansContext().getWebBeansUtil().checkSerializableScopeType(getScope(),
- ClassUtil.isClassAssignable(Serializable.class, getReturnType()), errorMessage, creatorMethod.getName(), ownerComponent.getReturnType().getName(),
+ ClassUtil.isClassAssignable(Serializable.class, getReturnType()), errorMessage, creatorMethod.getName(), getBeanClass().getName(),
getScope().getName());
}
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/third/ThirdpartyBeanImpl.java Fri Apr 26 18:28:00 2013
@@ -42,7 +42,8 @@ public class ThirdpartyBeanImpl<T> exten
super(webBeansContext,
WebBeansType.THIRDPARTY,
new BeanAttributesImpl<T>(bean),
- bean.getBeanClass());
+ bean.getBeanClass(),
+ bean.isNullable());
this.bean = bean;
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java Fri Apr 26 18:28:00 2013
@@ -765,7 +765,7 @@ public final class WebBeansUtil
if (bean instanceof ProducerMethodBean)
{
ProducerMethodBean<?> producerBean = (ProducerMethodBean<?>)bean;
- if (producerBean.getParent() == superBean && producerBean.getProducer() instanceof ProducerMethodProducer)
+ if (producerBean.getBeanClass() == superBean.getBeanClass() && producerBean.getProducer() instanceof ProducerMethodProducer)
{
ProducerMethodProducer<?, ?> producer = (ProducerMethodProducer<?, ?>) producerBean.getProducer();
producer.specializeBy((Bean) comp);
Modified: openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/component/JmsBean.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/component/JmsBean.java?rev=1476331&r1=1476330&r2=1476331&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/component/JmsBean.java (original)
+++ openwebbeans/trunk/webbeans-jms/src/main/java/org/apache/webbeans/jms/component/JmsBean.java Fri Apr 26 18:28:00 2013
@@ -22,9 +22,9 @@ import javax.enterprise.inject.spi.Produ
import javax.jms.Destination;
import org.apache.webbeans.component.AbstractOwbBean;
-import org.apache.webbeans.component.BeanAttributesImpl;
import org.apache.webbeans.component.JmsBeanMarker;
import org.apache.webbeans.component.WebBeansType;
+import org.apache.webbeans.component.spi.BeanAttributes;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.jms.JMSModel;
@@ -32,9 +32,9 @@ public class JmsBean<T> extends Abstract
{
private JMSModel jmsModel = null;
- JmsBean(WebBeansContext webBeansContext, JMSModel jmsModel, BeanAttributesImpl<T> beanAttributes)
+ JmsBean(WebBeansContext webBeansContext, JMSModel jmsModel, BeanAttributes<T> beanAttributes)
{
- super(webBeansContext, WebBeansType.JMS, beanAttributes, Destination.class);
+ super(webBeansContext, WebBeansType.JMS, beanAttributes, Destination.class, false);
this.jmsModel = jmsModel;
}