[webbeans-commits] Webbeans SVN: r3724 - examples/trunk.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-22 10:48:02 -0400 (Tue, 22 Sep 2009)
New Revision: 3724
Modified:
examples/trunk/build.properties
Log:
new versions
Modified: examples/trunk/build.properties
===================================================================
--- examples/trunk/build.properties 2009-09-22 14:21:38 UTC (rev 3723)
+++ examples/trunk/build.properties 2009-09-22 14:48:02 UTC (rev 3724)
@@ -1,2 +1,2 @@
-jboss.home=/Users/pmuir/development/jboss-5.1.0.GA
-tomcat.home=/Users/pmuir/development/apache-tomcat-6.0.20
+jboss.home=/Applications/jboss-5.2.0.Beta1
+tomcat.home=/Applications/apache-tomcat-6.0.20
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3723 - tck/trunk/impl/src/main/resources.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-09-22 10:21:38 -0400 (Tue, 22 Sep 2009)
New Revision: 3723
Modified:
tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
Log:
section 10 assertions
Modified: tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit-cdi.xml 2009-09-22 13:46:48 UTC (rev 3722)
+++ tck/trunk/impl/src/main/resources/tck-audit-cdi.xml 2009-09-22 14:21:38 UTC (rev 3723)
@@ -4190,7 +4190,7 @@
</section>
- <section id="10.1" title="Event types and binding types">
+ <section id="10.1" title="Event types and qualifier types">
<assertion id="aa">
<text>An event object is an instance of a concrete Java class with no type variables.</text>
@@ -4206,23 +4206,23 @@
</assertion>
<assertion id="d">
- <text>An event binding type is a Java annotation defined as |@Target({FIELD, PARAMETER})| ~or |@Target({METHOD, FIELD, PARAMETER, TYPE})| and |@Retention(RUNTIME)|~</text>
+ <text>An event qualifier type is a Java annotation defined as |@Target({FIELD, PARAMETER})| ~or |@Target({METHOD, FIELD, PARAMETER, TYPE})| and |@Retention(RUNTIME)|~</text>
</assertion>
<assertion id="e">
- <text>An event binding type is a Java annotation defined as ~|@Target({FIELD, PARAMETER})| or~ |@Target({METHOD, FIELD, PARAMETER, TYPE})| ~and |@Retention(RUNTIME)|~</text>
+ <text>An event qualifier type is a Java annotation defined as ~|@Target({FIELD, PARAMETER})| or~ |@Target({METHOD, FIELD, PARAMETER, TYPE})| ~and |@Retention(RUNTIME)|~</text>
</assertion>
<assertion id="f">
- <text>An event binding type is a Java annotation defined as ~|@Target({FIELD, PARAMETER})| or |@Target({METHOD, FIELD, PARAMETER, TYPE})| and ~|@Retention(RUNTIME)|</text>
+ <text>An event qualifier type is a Java annotation defined as ~|@Target({FIELD, PARAMETER})| or |@Target({METHOD, FIELD, PARAMETER, TYPE})| and ~|@Retention(RUNTIME)|</text>
</assertion>
<assertion id="g">
- <text>All event binding types must specify the |(a)javax.enterprise.inject.BindingType| meta-annotation</text>
+ <text>All event qualifier types must specify the |(a)javax.enterprise.inject.BindingType| meta-annotation</text>
</assertion>
<assertion id="i">
- <text>Every event has the binding |(a)javax.enterprise.inject.Any|, even if it does not explicitly declare this binding.</text>
+ <text>Every event has the qualifier |(a)javax.enterprise.inject.Any|, even if it does not explicitly declare this qualifier.</text>
</assertion>
<assertion id="j">
@@ -4232,11 +4232,19 @@
<section id="10.2" title="Observer resolution">
<assertion id="h">
- <text>An observer method will be notified of an event if the observed event type it specifies is one of the event types of the event, and if all the observed event bindings it specifies are event bindings of the event.</text>
+ <text>An observer method will be notified of an event if the observed event type it specifies is one of the event types of the event, and if all the observed event qualifiers it specifies are event qualifiers of the event.</text>
+ </assertion>
+
+ <assertion id="i">
+ <text>When resolving observers of an event, the container identifies the set of observer methods which satisfy the following conditions: The event object must be assignable to the observer event type, taking type parameters into considersion, and for each observed event qualifier, the event qualifiers must contain a matching qualifier with (a) the same type and (b) the same annotation member value for each member which is not annotated |(a)javax.enterprise.inject.Nonbinding|.</text>
</assertion>
<assertion id="j">
<text>If the runtime type of the event object contains a type variable, the container must throw an |IllegalArgumentException|.</text>
+ </assertion>
+
+ <assertion id="k">
+ <text>For a custom implementation of the |ObserverMethod| interface defined in Section 11.1.3, "The ObserverMethod interface", the container must call |getObservedType()| and |getObservedQualifiers()| to determine the observed event type and qualifiers.</text>
</assertion>
</section>
@@ -4256,26 +4264,26 @@
<section id="10.2.2" title="Event binding types with members">
<assertion id="a">
- <text>The binding type for an |Event| binding may have annotation members.</text>
+ <text>The qualifier type for an |Event| binding may have annotation members.</text>
</assertion>
<assertion id="b" testable="false">
- <text>The container uses |equals()| to compare event binding type member values.</text>
+ <text>The container uses |equals()| to compare event qualifier type member values.</text>
<note>Since only primitive types are allowed, the call to equals() cannot be checked</note>
</assertion>
</section>
<section id="10.2.3" title="Multiple event bindings">
<assertion id="a">
- <text>An event parameter may have multiple bindings</text>
+ <text>An event parameter may have multiple qualifiers.</text>
</assertion>
<assertion id="b">
- <text>An observer method will only be notified if all the observed event bindings are specified when the event is fired</text>
+ <text>An observer method will only be notified if all the observed event qualifiers are specified when the event is fired.</text>
</assertion>
<assertion id="c">
- <text>Other, less specific, observers will also be notified of events with multiple event bindings</text>
+ <text>Other, less specific, observers will also be notified of events with multiple event qualifiers.</text>
</assertion>
</section>
@@ -4289,25 +4297,25 @@
</assertion>
<assertion id="c">
- <text>Any combination of bindings may be specified at the injection point.</text>
+ <text>Any combination of qualifiers may be specified at the injection point.</text>
</assertion>
<assertion id="d">
- <text>Or, the application may specify bindings dynamically.</text>
+ <text>Or, the application may specify qualifiers dynamically.</text>
</assertion>
</section>
<section id="10.3.1" title="The Event interface">
<assertion id="ca">
- <text>The |Event| interface provides a method for firing events with a specified combination of type and bindings.</text>
+ <text>The |Event| interface provides a method for firing events with a specified combination of type and qualifiers.</text>
</assertion>
- <assertion id="cb">
- <text>For an injected |Event|, the specified type is the type parameter specified at the injection point, and the specified bindings are the bindings specified at the injection point.</text>
+ <assertion id="cb">qualifiers
+ <text>For an injected |Event|, the specified type is the type parameter specified at the injection point, and the specified qualifiers are the bindings specified at the injection point.</text>
</assertion>
<assertion id="eaa">
- <text>The |select()| method returns a child |Event| for a given specified type and additional specified bindings. If no specified type is given, the specified type is the same as the parent.</text>
+ <text>The |select()| method returns a child |Event| for a given specified type and additional specified qualifiers. If no specified type is given, the specified type is the same as the parent.</text>
</assertion>
<assertion id="eab">
@@ -4319,11 +4327,11 @@
</assertion>
<assertion id="ec">
- <text>If an instance of an annotation that is not a binding type is passed to |select()|, an |IllegalArgumentException| is thrown.</text>
+ <text>If an instance of an annotation that is not a qualifier type is passed to |select()|, an |IllegalArgumentException| is thrown.</text>
</assertion>
<assertion id="eda">
- <text>The method |fire()| fires an event with the specified bindings and notifies observers, as defined by Section 10.5, "Observer notification".</text>
+ <text>The method |fire()| fires an event with the specified qualifiers and notifies observers, as defined by Section 10.5, "Observer notification".</text>
</assertion>
<assertion id="f">
@@ -4337,7 +4345,7 @@
</assertion>
<assertion id="b">
- <text>The container must provide a built-in bean with every event binding type in its set of binding types.</text>
+ <text>The container must provide a built-in bean with every event qualifier type in its set of qualifier types.</text>
</assertion>
<assertion id="d">
@@ -4372,7 +4380,7 @@
</assertion>
<assertion id="e">
- <text>There may be arbitrarily many observer methods with the same event parameter type and bindings.</text>
+ <text>There may be arbitrarily many observer methods with the same event parameter type and qualifiers.</text>
</assertion>
<assertion id="f">
@@ -4382,11 +4390,11 @@
<section id="10.4.1" title="Event parameter of an observer method">
<assertion id="a">
- <text>Each observer method must have exactly one event parameter, of the same type as the event type it observes. When searching for observer methods for an event, the container considers the type and bindings of the event parameter</text>
+ <text>Each observer method must have exactly one event parameter, of the same type as the event type it observes. When searching for observer methods for an event, the container considers the type and qualifiers of the event parameter</text>
</assertion>
<assertion id="b">
- <text>If the event parameter does not explicitly declare any binding, the observer method observes events with no binding</text>
+ <text>If the event parameter does not explicitly declare any qualifier, the observer method observes events with no qualifier.</text>
</assertion>
<assertion id="ca">
@@ -4409,7 +4417,7 @@
</assertion>
<assertion id="c">
- <text>Observed event bindings may be declared by annotating the event parameter.</text>
+ <text>Observed event qualifiers may be declared by annotating the event parameter.</text>
</assertion>
<assertion id="d">
@@ -4435,21 +4443,21 @@
<section id="10.4.3" title="Observer method parameters">
<assertion id="a">
- <text>In addition to the event parameter, observer methods may declare additional parameters, which may declare bindings. These additional parameters are injection points.</text>
+ <text>In addition to the event parameter, observer methods may declare additional parameters, which may declare qualifiers. These additional parameters are injection points.</text>
</assertion>
</section>
<section id="10.4.4" title="Conditional observer methods">
<assertion id="a">
- <text>A conditional observer method may be declared by specifying |notify=IF_EXISTS|.</text>
+ <text>A conditional observer method may be declared by specifying |receive=IF_EXISTS|.</text>
</assertion>
<assertion id="b">
- <text>Beans with scope |@Dependent| may not have conditional observer methods. If a bean with scope |@Dependent| has an observer method declared |notify=IF_EXISTS|, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+ <text>Beans with scope |@Dependent| may not have conditional observer methods. If a bean with scope |@Dependent| has an observer method declared |receive=IF_EXISTS|, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
</assertion>
<assertion id="c">
- <text>The enumeration |javax.enterprise.event.Notify| identifies the supported values of |notify|.</text>
+ <text>The enumeration |javax.enterprise.event.Reception| identifies the supported values of |receive|.</text>
</assertion>
</section>
@@ -4529,7 +4537,7 @@
</assertion>
<assertion id="f">
- <text>For a custom implementation of the |ObserverMethod| interface defined in Section 11.1.3, "The ObserverMethod interface", the container must call |getNotify()| and |getTransactionPhase()| to determine is the observer method is a conditional or transactional observer method, and |notify()| to invoke the method.</text>
+ <text>For a custom implementation of the |ObserverMethod| interface defined in Section 11.1.3, "The ObserverMethod interface", the container must call |getReception()| and |getTransactionPhase()| to determine is the observer method is a conditional or transactional observer method, and |notify()| to invoke the method.</text>
</assertion>
</section>
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3722 - in ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean: builder and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: kabir.khan(a)jboss.com
Date: 2009-09-22 09:46:48 -0400 (Tue, 22 Sep 2009)
New Revision: 3722
Modified:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
Log:
Get rid of duplicate code in Beans/Builders
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-09-22 13:26:47 UTC (rev 3721)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-09-22 13:46:48 UTC (rev 3722)
@@ -118,16 +118,9 @@
this.injectableFields = initInjectableFields();
this.initializerMethods = initInitializerMethods();
- checkBeanImplementation();
this.decorators = decorators;
- checkType();
}
- protected void checkType()
- {
-
- }
-
public boolean hasDecorators()
{
return this.decorators != null && this.decorators.size() > 0;
@@ -220,11 +213,6 @@
}
/**
- * Validates the bean implementation
- */
- protected void checkBeanImplementation() {}
-
- /**
* Gets the annotated item
*
* @return The annotated item
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java 2009-09-22 13:26:47 UTC (rev 3721)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java 2009-09-22 13:46:48 UTC (rev 3722)
@@ -22,13 +22,9 @@
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Observes;
import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
-import javax.inject.Inject;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
@@ -60,7 +56,6 @@
this.disposalMethodInjectionPoint = MethodInjectionPoint.of(this, disposalMethod);
this.id = createId("DisposalMethod-" + declaringBean.getName() + "-" + disposalMethod.getSignature().toString());
addInjectionPoint(disposalMethodInjectionPoint);
- checkDisposalMethod();
}
@Override
@@ -118,55 +113,6 @@
creationalContext.release();
}
- private void checkDisposalMethod()
- {
- if (!disposalMethodInjectionPoint.getWBParameters().get(0).isAnnotationPresent(Disposes.class))
- {
- throw new DefinitionException(disposalMethodInjectionPoint.toString() + " doesn't have @Dispose as first parameter");
- }
- if (disposalMethodInjectionPoint.getAnnotatedParameters(Disposes.class).size() > 1)
- {
- throw new DefinitionException(disposalMethodInjectionPoint.toString() + " has more than one @Dispose parameters");
- }
- if (disposalMethodInjectionPoint.getAnnotatedParameters(Observes.class).size() > 0)
- {
- throw new DefinitionException("@Observes is not allowed on disposal method, see " + disposalMethodInjectionPoint.toString());
- }
- if (disposalMethodInjectionPoint.getAnnotation(Inject.class) != null)
- {
- throw new DefinitionException("@Intitializer is not allowed on a disposal method, see " + disposalMethodInjectionPoint.toString());
- }
- if (disposalMethodInjectionPoint.getAnnotation(Produces.class) != null)
- {
- throw new DefinitionException("@Produces is not allowed on a disposal method, see " + disposalMethodInjectionPoint.toString());
- }
- if (getDeclaringBean() instanceof SessionBean<?>)
- {
- boolean methodDeclaredOnTypes = false;
- // TODO use annotated item?
- for (Type type : getDeclaringBean().getTypes())
- {
- if (type instanceof Class<?>)
- {
- Class<?> clazz = (Class<?>) type;
- try
- {
- clazz.getDeclaredMethod(disposalMethodInjectionPoint.getName(), disposalMethodInjectionPoint.getParameterTypesAsArray());
- methodDeclaredOnTypes = true;
- }
- catch (NoSuchMethodException nsme)
- {
- // No - op
- }
- }
- }
- if (!methodDeclaredOnTypes)
- {
- throw new DefinitionException("Producer method " + toString() + " must be declared on a business interface of " + getDeclaringBean());
- }
- }
- }
-
@Override
protected String getDefaultName()
{
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java 2009-09-22 13:26:47 UTC (rev 3721)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java 2009-09-22 13:46:48 UTC (rev 3722)
@@ -33,12 +33,10 @@
import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.introspector.WBConstructor;
-import org.jboss.webbeans.introspector.WBField;
import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
-import org.jboss.webbeans.metadata.cache.MetaAnnotationStore;
import org.jboss.webbeans.util.Beans;
import org.jboss.webbeans.util.Names;
import org.jboss.webbeans.util.Reflections;
@@ -212,68 +210,6 @@
}
}
- /**
- * Validates the type
- */
- protected void checkType()
- {
- if (getAnnotatedItem().isNonStaticMemberClass())
- {
- throw new DefinitionException("Simple bean " + type + " cannot be a non-static inner class");
- }
- if (!isDependent() && getAnnotatedItem().isParameterizedType())
- {
- throw new DefinitionException("Managed bean " + type + " must be @Dependent");
- }
- boolean passivating = getManager().getServices().get(MetaAnnotationStore.class).getScopeModel(scopeType).isPassivating();
- if (passivating && !Reflections.isSerializable(getBeanClass()))
- {
- throw new DefinitionException("Simple bean declaring a passivating scope must have a serializable implementation class " + toString());
- }
- if (hasDecorators())
- {
- if (getAnnotatedItem().isFinal())
- {
- throw new DefinitionException("Bean class which has decorators cannot be declared final " + this);
- }
- for (Decorator<?> decorator : getDecorators())
- {
- if (decorator instanceof DecoratorImpl<?>)
- {
- DecoratorImpl<?> decoratorBean = (DecoratorImpl<?>) decorator;
- for (WBMethod<?, ?> decoratorMethod : decoratorBean.getAnnotatedItem().getWBMethods())
- {
- WBMethod<?, ?> method = getAnnotatedItem().getWBMethod(decoratorMethod.getSignature());
- if (method != null && !method.isStatic() && !method.isPrivate() && method.isFinal())
- {
- throw new DefinitionException("Decorated bean method " + method + " (decorated by "+ decoratorMethod + ") cannot be declarted final");
- }
- }
- }
- else
- {
- throw new IllegalStateException("Can only operate on container provided decorators " + decorator);
- }
- }
- }
- }
-
- @Override
- protected void checkBeanImplementation()
- {
- super.checkBeanImplementation();
- if (!isDependent())
- {
- for (WBField<?, ?> field : getAnnotatedItem().getWBFields())
- {
- if (field.isPublic() && !field.isStatic())
- {
- throw new DefinitionException("Normal scoped Web Bean implementation class has a public field " + getAnnotatedItem());
- }
- }
- }
- }
-
protected void checkConstructor()
{
if (!constructor.getAnnotatedWBParameters(Disposes.class).isEmpty())
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java 2009-09-22 13:26:47 UTC (rev 3721)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java 2009-09-22 13:46:48 UTC (rev 3722)
@@ -100,12 +100,5 @@
public boolean isSpecializing()
{
return false;
- }
-
- @Override
- protected void checkScopeAllowed()
- {
- // No-op
- }
-
+ }
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java 2009-09-22 13:26:47 UTC (rev 3721)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java 2009-09-22 13:46:48 UTC (rev 3722)
@@ -23,12 +23,9 @@
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Observes;
import javax.enterprise.inject.CreationException;
-import javax.enterprise.inject.Disposes;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.injection.ParameterInjectionPoint;
import org.jboss.webbeans.introspector.WBMethod;
@@ -99,7 +96,6 @@
this.specializedBean = specializedBean;
this.id = createId("ProducerMethod-" + declaringBean.getType().getName() + "-" + method.getSignature().toString());
initProducerMethodInjectableParameters();
- checkProducerMethod();
}
public T produce(CreationalContext<T> creationalContext)
@@ -126,46 +122,6 @@
}
}
- /**
- * Validates the producer method
- */
- protected void checkProducerMethod()
- {
- if (getAnnotatedItem().getAnnotatedWBParameters(Observes.class).size() > 0)
- {
- throw new DefinitionException("Producer method cannot have parameter annotated @Observes");
- }
- else if (getAnnotatedItem().getAnnotatedWBParameters(Disposes.class).size() > 0)
- {
- throw new DefinitionException("Producer method cannot have parameter annotated @Disposes");
- }
- else if (getDeclaringBean() instanceof SessionBean<?>)
- {
- boolean methodDeclaredOnTypes = false;
- // TODO use annotated item?
- for (Type type : getDeclaringBean().getTypes())
- {
- if (type instanceof Class)
- {
- Class<?> clazz = (Class<?>) type;
- try
- {
- clazz.getDeclaredMethod(getAnnotatedItem().getName(), getAnnotatedItem().getParameterTypesAsArray());
- methodDeclaredOnTypes = true;
- }
- catch (NoSuchMethodException nsme)
- {
- // No - op
- }
- }
- }
- if (!methodDeclaredOnTypes)
- {
- throw new DefinitionException("Producer method " + toString() + " must be declared on a business interface of " + getDeclaringBean());
- }
- }
- }
-
public void destroy(T instance, CreationalContext<T> creationalContext)
{
try
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java 2009-09-22 13:26:47 UTC (rev 3721)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java 2009-09-22 13:46:48 UTC (rev 3722)
@@ -26,15 +26,10 @@
import javassist.util.proxy.ProxyObject;
-import javax.decorator.Decorator;
-import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.event.Observes;
import javax.enterprise.inject.CreationException;
-import javax.interceptor.Interceptor;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.bean.proxy.EnterpriseBeanInstance;
import org.jboss.webbeans.bean.proxy.EnterpriseBeanProxyMethodHandler;
import org.jboss.webbeans.bean.proxy.Marker;
@@ -128,46 +123,10 @@
this.ejbDescriptor = ejbDescriptor;
this.proxyClass = proxyClass;
this.specializedBean = specializedBean;
-
- checkEJBTypeAllowed();
- checkConflictingRoles();
- checkObserverMethods();
- checkScopeAllowed();
}
/**
- * Validates for non-conflicting roles
- */
- protected void checkConflictingRoles()
- {
- if (getType().isAnnotationPresent(Interceptor.class))
- {
- throw new DefinitionException("Enterprise beans cannot be interceptors");
- }
- if (getType().isAnnotationPresent(Decorator.class))
- {
- throw new DefinitionException("Enterprise beans cannot be decorators");
- }
- }
-
- /**
- * Check that the scope type is allowed by the stereotypes on the bean and
- * the bean type
- */
- protected void checkScopeAllowed()
- {
- if (ejbDescriptor.isStateless() && !isDependent())
- {
- throw new DefinitionException("Scope " + getScope() + " is not allowed on stateless enterpise beans for " + getType() + ". Only @Dependent is allowed on stateless enterprise beans");
- }
- if (ejbDescriptor.isSingleton() && !(isDependent() || getScope().equals(ApplicationScoped.class)))
- {
- throw new DefinitionException("Scope " + getScope() + " is not allowed on singleton enterpise beans for " + getType() + ". Only @Dependent or @ApplicationScoped is allowed on singleton enterprise beans");
- }
- }
-
- /**
* Creates an instance of the bean
*
* @return The instance
@@ -237,17 +196,6 @@
}
/**
- * Validates the bean type
- */
- private void checkEJBTypeAllowed()
- {
- if (ejbDescriptor.isMessageDriven())
- {
- throw new DefinitionException("Message Driven Beans can't be Web Beans");
- }
- }
-
- /**
* Gets a string representation
*
* @return The string representation
@@ -304,24 +252,6 @@
return specializedBean;
}
- /**
- * If there are any observer methods, they must be static or business
- * methods.
- */
- protected void checkObserverMethods()
- {
- for (WBMethod<?, ?> method : super.getAnnotatedItem().getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
- {
- if (!method.isStatic())
- {
- if (!isMethodExistsOnTypes(method))
- {
- throw new DefinitionException("Observer method must be static or business method: " + method + " on " + getAnnotatedItem());
- }
- }
- }
- }
-
// TODO must be a nicer way to do this!
public boolean isMethodExistsOnTypes(WBMethod<?, ?> method)
{
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java 2009-09-22 13:26:47 UTC (rev 3721)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java 2009-09-22 13:46:48 UTC (rev 3722)
@@ -213,11 +213,6 @@
return bean;
}
- private Set<Class<? extends Annotation>> createEmptyStereotypes()
- {
- return Collections.emptySet();
- }
-
protected boolean isPersistenceContextProducerField(WBField<?, ?> field)
{
PersistenceApiAbstraction persistenceApiAbstraction = getManager().getServices().get(PersistenceApiAbstraction.class);
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3721 - ri/trunk/parent.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-22 09:26:47 -0400 (Tue, 22 Sep 2009)
New Revision: 3721
Modified:
ri/trunk/parent/pom.xml
Log:
don't let maven auto-detect JVM
Modified: ri/trunk/parent/pom.xml
===================================================================
--- ri/trunk/parent/pom.xml 2009-09-22 12:17:38 UTC (rev 3720)
+++ ri/trunk/parent/pom.xml 2009-09-22 13:26:47 UTC (rev 3721)
@@ -140,6 +140,15 @@
</executions>
</plugin>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <configuration>
+ <classpathContainers>
+ <classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
+ </classpathContainers>
+ </configuration>
+ </plugin>
+ <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<executions>
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3720 - in ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean: builder and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: kabir.khan(a)jboss.com
Date: 2009-09-22 08:17:38 -0400 (Tue, 22 Sep 2009)
New Revision: 3720
Modified:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SerializableBeanInstance.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java
Log:
More encapsulation, everything is final and private in the beans. Log creation of beans in builders.
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -34,8 +34,6 @@
import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.introspector.WBField;
import org.jboss.webbeans.introspector.WBParameter;
-import org.jboss.webbeans.log.Log;
-import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
import org.jboss.webbeans.metadata.cache.MetaAnnotationStore;
import org.jboss.webbeans.util.Reflections;
@@ -53,9 +51,6 @@
{
private final boolean proxyable;
- // Logger
- private final Log log = Logging.getLog(AbstractBean.class);
-
// The binding types
private final Set<Annotation> bindings;
@@ -84,7 +79,7 @@
// If the type a primitive?
private final boolean primitive;
// The Web Beans manager
- protected final BeanManagerImpl manager;
+ private final BeanManagerImpl manager;
private final boolean serializable;
@@ -326,11 +321,6 @@
return serializable && checkInjectionPointsAreSerializable();
}
-// protected void initSerializable()
-// {
-// _serializable = Reflections.isSerializable(type);
-// }
-
/**
* Gets a string representation
*
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -57,7 +57,7 @@
private static final LogProvider log = Logging.getLogProvider(AbstractClassBean.class);
// The item representation
- protected final WBClass<T> annotatedItem;
+ private final WBClass<T> annotatedItem;
// The injectable fields
private final Set<FieldInjectionPoint<?, ?>> injectableFields;
@@ -341,6 +341,4 @@
{
return preDestroy;
}
-
-
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -37,8 +37,6 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.introspector.WBMember;
-import org.jboss.webbeans.log.LogProvider;
-import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
import org.jboss.webbeans.metadata.cache.MetaAnnotationStore;
import org.jboss.webbeans.util.Beans;
@@ -56,8 +54,6 @@
*/
public abstract class AbstractProducerBean<T, S extends Member> extends AbstractReceiverBean<T, S> implements Producer<T>
{
- private static final LogProvider log = Logging.getLogProvider(AbstractProducerBean.class);
-
/**
* Constructor
*
@@ -155,12 +151,12 @@
}
else if (instance != null)
{
- boolean passivating = manager.getServices().get(MetaAnnotationStore.class).getScopeModel(getScope()).isPassivating();
+ boolean passivating = getManager().getServices().get(MetaAnnotationStore.class).getScopeModel(getScope()).isPassivating();
if (passivating && !Reflections.isSerializable(instance.getClass()))
{
throw new IllegalProductException("Producers cannot declare passivating scope and return a non-serializable class");
}
- InjectionPoint injectionPoint = manager.getCurrentInjectionPoint();
+ InjectionPoint injectionPoint = getManager().getCurrentInjectionPoint();
if (injectionPoint == null)
{
return;
@@ -194,12 +190,6 @@
}
}
- @Override
- public boolean isSerializable()
- {
- return true;
- }
-
/**
* Creates an instance of the bean
*
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -84,7 +84,7 @@
return creationalContextImpl.getIncompleteInstance(getDeclaringBean());
}
}
- return manager.getReference(getDeclaringBean(), Object.class, creationalContext);
+ return getManager().getReference(getDeclaringBean(), Object.class, creationalContext);
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -19,7 +19,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
-import java.util.Collections;
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
@@ -43,7 +42,7 @@
public class DisposalMethod<T> extends AbstractReceiverBean<T, Method>
{
- protected MethodInjectionPoint<T, ?> disposalMethodInjectionPoint;
+ private MethodInjectionPoint<T, ?> disposalMethodInjectionPoint;
private final String id;
protected DisposalMethod(BeanManagerImpl manager,
@@ -86,18 +85,6 @@
@Override
- public String getName()
- {
- return null;
- }
-
- @Override
- public Class<? extends Annotation> getScope()
- {
- return null;
- }
-
- @Override
public String toString()
{
return disposalMethodInjectionPoint.toString();
@@ -110,19 +97,6 @@
return false;
}
- @Override
- public boolean isSerializable()
- {
- // Not relevant
- return false;
- }
-
- @Override
- public boolean isProxyable()
- {
- return true;
- }
-
public T create(CreationalContext<T> creationalContext)
{
// Not Relevant
@@ -131,15 +105,15 @@
public void invokeDisposeMethod(Object instance)
{
- CreationalContext<T> creationalContext = manager.createCreationalContext(this);
+ CreationalContext<T> creationalContext = getManager().createCreationalContext(this);
Object receiverInstance = getReceiver(creationalContext);
if (receiverInstance == null)
{
- disposalMethodInjectionPoint.invokeWithSpecialValue(null, Disposes.class, instance, manager, creationalContext, IllegalArgumentException.class);
+ disposalMethodInjectionPoint.invokeWithSpecialValue(null, Disposes.class, instance, getManager(), creationalContext, IllegalArgumentException.class);
}
else
{
- disposalMethodInjectionPoint.invokeOnInstanceWithSpecialValue(receiverInstance, Disposes.class, instance, manager, creationalContext, IllegalArgumentException.class);
+ disposalMethodInjectionPoint.invokeOnInstanceWithSpecialValue(receiverInstance, Disposes.class, instance, getManager(), creationalContext, IllegalArgumentException.class);
}
creationalContext.release();
}
@@ -194,12 +168,6 @@
}
@Override
- public Class<T> getType()
- {
- return type;
- }
-
- @Override
protected String getDefaultName()
{
return disposalMethodInjectionPoint.getPropertyName();
@@ -222,16 +190,4 @@
// Doesn't support specialization
return null;
}
-
-// @Override
-// protected void initScopeType()
-// {
-// // Disposal methods aren't scoped
-// }
-
- public Set<Class<? extends Annotation>> getStereotypes()
- {
- return Collections.emptySet();
- }
-
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -153,7 +153,7 @@
public T produce(CreationalContext<T> ctx)
{
- T instance = constructor.newInstance(manager, ctx);
+ T instance = constructor.newInstance(getManager(), ctx);
if (!hasDecorators())
{
// This should be safe, but needs verification PLM
@@ -225,7 +225,7 @@
{
throw new DefinitionException("Managed bean " + type + " must be @Dependent");
}
- boolean passivating = manager.getServices().get(MetaAnnotationStore.class).getScopeModel(scopeType).isPassivating();
+ boolean passivating = getManager().getServices().get(MetaAnnotationStore.class).getScopeModel(scopeType).isPassivating();
if (passivating && !Reflections.isSerializable(getBeanClass()))
{
throw new DefinitionException("Simple bean declaring a passivating scope must have a serializable implementation class " + toString());
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -17,17 +17,14 @@
package org.jboss.webbeans.bean;
import java.lang.annotation.Annotation;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import javax.enterprise.context.Dependent;
import javax.enterprise.inject.spi.Decorator;
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.introspector.WBMethod;
-import org.jboss.webbeans.literal.NewLiteral;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
/**
@@ -65,8 +62,6 @@
proxyClassForDecorators, postConstruct, preDestroy, specializedBean);
}
- private Set<Annotation> bindings;
-
/**
* Protected constructor
*
@@ -90,47 +85,9 @@
{
super(type, manager, name, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
proxyClassForDecorators, postConstruct, preDestroy, specializedBean);
- this.bindings = new HashSet<Annotation>();
- this.bindings.add(new NewLiteral()
- {
-
- public Class<?> value()
- {
- return type.getJavaClass();
- }
-
- });
}
- /**
- * Gets the scope type
- *
- * @return @Dependent
- */
@Override
- public Class<? extends Annotation> getScope()
- {
- return Dependent.class;
- }
-
- @Override
- public boolean isAlternative()
- {
- return false;
- }
-
- /**
- * Gets the name of the bean
- *
- * @return null
- */
- @Override
- public String getName()
- {
- return null;
- }
-
- @Override
public boolean isSpecializing()
{
return false;
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -18,18 +18,15 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
-import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import javax.enterprise.context.Dependent;
import javax.enterprise.inject.spi.Decorator;
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.ejb.InternalEjbDescriptor;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.introspector.WBMethod;
-import org.jboss.webbeans.literal.NewLiteral;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
import org.jboss.webbeans.resources.ClassTransformer;
@@ -71,8 +68,6 @@
proxyClassForDecorators, postConstruct, preDestroy, proxyClass, specializedBean);
}
- private Set<Annotation> bindings;
-
/**
* Protected constructor
*
@@ -98,48 +93,10 @@
SessionBean<?> specializedBean)
{
super(type, ejbDescriptor, manager, name, types, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
- proxyClassForDecorators, postConstruct, preDestroy, proxyClass, specializedBean);
- this.bindings = new HashSet<Annotation>();
- this.bindings.add(new NewLiteral()
- {
-
- public Class<?> value()
- {
- return type.getJavaClass();
- }
-
- });
+ proxyClassForDecorators, postConstruct, preDestroy, proxyClass, specializedBean);
}
- /**
- * Gets the scope type
- *
- * @return @Dependent
- */
@Override
- public Class<? extends Annotation> getScope()
- {
- return Dependent.class;
- }
-
- @Override
- public boolean isAlternative()
- {
- return false;
- }
-
- /**
- * Gets the name of the bean
- *
- * @return null
- */
- @Override
- public String getName()
- {
- return null;
- }
-
- @Override
public boolean isSpecializing()
{
return false;
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -19,7 +19,6 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
-import java.util.Collections;
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
@@ -167,10 +166,4 @@
{
return id;
}
-
- public Set<Class<? extends Annotation>> getStereotypes()
- {
- return Collections.emptySet();
- }
-
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -107,11 +107,11 @@
Object receiver = getReceiver(creationalContext);
if (receiver != null)
{
- return method.invokeOnInstance(receiver, manager, creationalContext, CreationException.class);
+ return method.invokeOnInstance(receiver, getManager(), creationalContext, CreationException.class);
}
else
{
- return method.invoke(receiver, manager, creationalContext, CreationException.class);
+ return method.invoke(receiver, getManager(), creationalContext, CreationException.class);
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SerializableBeanInstance.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SerializableBeanInstance.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SerializableBeanInstance.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -36,7 +36,6 @@
this.instance = instance;
}
- @SuppressWarnings("unchecked")
public T getBean()
{
return (T) manager.getRiBeans().get(beanId);
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -310,7 +310,7 @@
*/
protected void checkObserverMethods()
{
- for (WBMethod<?, ?> method : this.annotatedItem.getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
+ for (WBMethod<?, ?> method : super.getAnnotatedItem().getWBDeclaredMethodsWithAnnotatedParameters(Observes.class))
{
if (!method.isStatic())
{
@@ -343,7 +343,7 @@
public SessionObjectReference createReference()
{
- return manager.getServices().get(EjbServices.class).resolveEjb(getEjbDescriptor().delegate());
+ return getManager().getServices().get(EjbServices.class).resolveEjb(getEjbDescriptor().delegate());
}
public Set<Class<? extends Annotation>> getStereotypes()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -280,7 +280,10 @@
void registerSpecializedBean(Bean<T> bean)
{
if (isSpecializing())
+ {
+ log.trace("Registering " + bean + " as specializing " + getSpecializedBean());
manager.getSpecializedBeans().put(getSpecializedBean(), bean);
+ }
}
/**
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -164,7 +164,6 @@
{
decoratorStackPosition.set(++i);
- @SuppressWarnings("unchecked")
DecoratorImpl<Object> decoratorBean = (DecoratorImpl<Object>) decorator;
Object decoratorInstance = getManager().getReference(ip, decorator, creationalContext);
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -23,7 +23,6 @@
import java.util.HashSet;
import java.util.Set;
-import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.Disposes;
import javax.enterprise.inject.Produces;
@@ -37,6 +36,8 @@
import org.jboss.webbeans.bean.SessionBean;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.log.Log;
+import org.jboss.webbeans.log.Logging;
/**
*
@@ -45,7 +46,10 @@
*/
class DisposalMethodBuilder<T> extends AbstractReceiverBeanBuilder<T, Method>
{
+ // Logger
+ private final Log log = Logging.getLog(DisposalMethodBuilder.class);
+
protected WBMethod<T, ?> disposalMethod;
private final String id;
@@ -235,6 +239,7 @@
DisposalMethod<T> createBean()
{
+ log.trace("Building disposal method bean for " + disposalMethod);
DisposalMethod<T> bean = DisposalMethod.of(getManager(),
getName(),
disposalMethod,
@@ -248,6 +253,7 @@
bean.initialize();
registerSpecializedBean(bean);
+ log.trace("Built " + bean);
return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -181,6 +181,8 @@
}
}
+
+
/**
* Gets a string representation
*
@@ -218,6 +220,7 @@
@Override
ManagedBean<T> createBean()
{
+ log.trace("Building managed bean for " + getType());
ManagedBean<T> bean = ManagedBean.of(
getAnnotatedItem(),
getManager(),
@@ -236,6 +239,7 @@
bean.initialize();
registerSpecializedBean(bean);
+ log.trace("Built " + bean);
return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -26,6 +26,8 @@
import org.jboss.webbeans.bean.NewManagedBean;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.literal.NewLiteral;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
/**
* Builder for a @New simple bean
@@ -35,6 +37,7 @@
*/
class NewManagedBeanBuilder<T> extends ManagedBeanBuilder<T>
{
+ private static LogProvider log = Logging.getLogProvider(NewManagedBeanBuilder.class);
/**
* Creates an instance of a NewSimpleBean from an annotated class
@@ -119,6 +122,7 @@
@Override
NewManagedBean<T> createBean()
{
+ log.trace("Building @New managed bean for " + getType());
NewManagedBean<T> bean = NewManagedBean.of(
getAnnotatedItem(),
getManager(),
@@ -137,6 +141,7 @@
bean.initialize();
registerSpecializedBean(bean);
+ log.trace("Built " + bean);
return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -27,6 +27,8 @@
import org.jboss.webbeans.ejb.InternalEjbDescriptor;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.literal.NewLiteral;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.resources.ClassTransformer;
/**
@@ -37,6 +39,7 @@
*/
class NewSessionBeanBuilder<T> extends SessionBeanBuilder<T>
{
+ private static LogProvider log = Logging.getLogProvider(NewSessionBeanBuilder.class);
/**
* Creates an instance of a NewEnterpriseBean from an annotated class
@@ -128,6 +131,7 @@
@Override
NewSessionBean<T> createBean()
{
+ log.trace("Building @New session bean for " + getType());
NewSessionBean<T> bean = NewSessionBean.of(getEjbDescriptor(),
getManager(),
getName(),
@@ -147,6 +151,7 @@
bean.initialize();
registerSpecializedBean(bean);
+ log.trace("Built " + bean);
return bean;
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -30,6 +30,8 @@
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.ejb.EJBApiAbstraction;
import org.jboss.webbeans.introspector.WBField;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.persistence.PersistenceApiAbstraction;
import org.jboss.webbeans.util.Names;
import org.jboss.webbeans.ws.WSApiAbstraction;
@@ -44,6 +46,8 @@
*/
class ProducerFieldBuilder<T> extends AbstractProducerBeanBuilder<T, Field>
{
+ private static LogProvider log = Logging.getLogProvider(ProducerFieldBuilder.class);
+
// The underlying field
private WBField<T, ?> field;
private final String id;
@@ -158,6 +162,7 @@
public ProducerField<T> createBean()
{
+ log.trace("Building producer field bean for " + field);
ProducerField<T> bean = null;
if (isPersistenceContextProducerField(field))
{
@@ -204,6 +209,7 @@
}
bean.initialize();
+ log.trace("Built " + bean);
return bean;
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -34,6 +34,8 @@
import org.jboss.webbeans.bean.SessionBean;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.util.Names;
/**
@@ -46,6 +48,8 @@
*/
class ProducerMethodBuilder<T> extends AbstractProducerBeanBuilder<T, Method>
{
+ private static LogProvider log = Logging.getLogProvider(ProducerMethodBuilder.class);
+
// The underlying method
private WBMethod<T, ?> method;
@@ -246,6 +250,7 @@
public ProducerMethod<T> createBean()
{
+ log.trace("Building producer method bean for " + method);
ProducerMethod<T> bean = ProducerMethod.of(method,
getDeclaringBean(),
getManager(),
@@ -262,6 +267,7 @@
bean.initialize();
registerSpecializedBean(bean);
+ log.trace("Built " + bean);
return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -43,6 +43,8 @@
import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.introspector.WBMethod;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.resources.ClassTransformer;
import org.jboss.webbeans.util.Proxies;
@@ -56,6 +58,8 @@
*/
class SessionBeanBuilder<T> extends AbstractClassBeanBuilder<T>
{
+ private static LogProvider log = Logging.getLogProvider(SessionBeanBuilder.class);
+
// The EJB descriptor
private InternalEjbDescriptor<T> ejbDescriptor;
@@ -310,6 +314,7 @@
@Override
SessionBean<T> createBean()
{
+ log.trace("Building @New session bean for " + getType());
SessionBean<T> bean = SessionBean.of(getEjbDescriptor(),
getManager(),
getName(),
@@ -329,6 +334,7 @@
bean.initialize();
registerSpecializedBean(bean);
+ log.trace("Built " + bean);
return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java 2009-09-22 11:00:43 UTC (rev 3719)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java 2009-09-22 12:17:38 UTC (rev 3720)
@@ -24,7 +24,6 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.AbstractClassBean;
import org.jboss.webbeans.bean.ProducerField;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.ejb.EJBApiAbstraction;
import org.jboss.webbeans.introspector.WBField;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
@@ -88,9 +87,9 @@
protected void checkEEResource()
{
- EJBApiAbstraction ejbApiAbstraction = manager.getServices().get(EJBApiAbstraction.class);
- PersistenceApiAbstraction persistenceApiAbstraction = manager.getServices().get(PersistenceApiAbstraction.class);
- WSApiAbstraction wsApiAbstraction = manager.getServices().get(WSApiAbstraction.class);
+ EJBApiAbstraction ejbApiAbstraction = getManager().getServices().get(EJBApiAbstraction.class);
+ PersistenceApiAbstraction persistenceApiAbstraction = getManager().getServices().get(PersistenceApiAbstraction.class);
+ WSApiAbstraction wsApiAbstraction = getManager().getServices().get(WSApiAbstraction.class);
if (!(getAnnotatedItem().isAnnotationPresent(ejbApiAbstraction.RESOURCE_ANNOTATION_CLASS) || getAnnotatedItem().isAnnotationPresent(persistenceApiAbstraction.PERSISTENCE_CONTEXT_ANNOTATION_CLASS) || getAnnotatedItem().isAnnotationPresent(persistenceApiAbstraction.PERSISTENCE_UNIT_ANNOTATION_CLASS) || getAnnotatedItem().isAnnotationPresent(ejbApiAbstraction.EJB_ANNOTATION_CLASS)) || getAnnotatedItem().isAnnotationPresent(wsApiAbstraction.WEB_SERVICE_REF_ANNOTATION_CLASS))
{
throw new IllegalStateException("Tried to create an EEResourceProducerField, but no @Resource, @PersistenceContext, @PersistenceUnit, @WebServiceRef or @EJB is present " + getAnnotatedItem());
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3719 - tck/trunk/impl/src/main/resources.
by webbeans-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2009-09-22 07:00:43 -0400 (Tue, 22 Sep 2009)
New Revision: 3719
Modified:
tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
Log:
section 7, 8 and 9 assertions
Modified: tck/trunk/impl/src/main/resources/tck-audit-cdi.xml
===================================================================
--- tck/trunk/impl/src/main/resources/tck-audit-cdi.xml 2009-09-22 11:00:26 UTC (rev 3718)
+++ tck/trunk/impl/src/main/resources/tck-audit-cdi.xml 2009-09-22 11:00:43 UTC (rev 3719)
@@ -2386,7 +2386,7 @@
<text>The |javax.enterprise.inject.spi.InjectionPoint.getMember()| method returns the |Constructor| object in the case of constructor parameter injection.</text>
</assertion>
- <assertion id="daa">
+ <assertion id="daa"> <text>When the container invokes a method of a bean, the invocation may or may not be treated as a business method invocation
<text>The |getAnnotated()| method returns an instance of |javax.enterprise.inject.spi.AnnotatedField| or |javax.enterprise.inject.spi.AnnotatedParameter|, depending upon whether the injection point is an injected field or a constructor/method parameter.</text>
</assertion>
@@ -3553,48 +3553,16 @@
</section>
- <section id="7.2" title="Container invocations and interception">
+ <section id="7.2" title="Container invocations and interception">
+ <assertion id="a0" testable="false">
+ <text>When the application invokes a method of a bean via a contextual reference to the bean, as defined in Section 6.5.3, "Contextual reference for a bean", or a business method of a session bean via an EJB remote or local reference, the invocation is treated as a business method invocation.</text>
+ </assertion>
+
+ <assertion id="a1">
+ <text>Invocations of initializer methods by the container are not business method invocations.</text>
+ </assertion>
+
<group>
- <text>When the container invokes a method of a bean, if, and only if, the invocation is a business method invocation it passes through the method interceptor and decorator stacks, and in the case of a session bean, it is subject to EJB services such a declarative transaction management, concurrency, security and asynchronicity, as defined by the EJB specification.</text>
-
- <assertion id="a">
- <text>Verify that a managed bean's business methods are intercepted</text>
- </assertion>
-
- <assertion id="b">
- <text>Verify that a managed bean's business methods are decorated</text>
- </assertion>
-
- <assertion id="c">
- <text>Verify that a session bean's business methods are intercepted</text>
- </assertion>
-
- <assertion id="d">
- <text>Verify that a session bean's business methods are decorated</text>
- </assertion>
-
- <assertion id="f" testable="false">
- <text>Verify that a session bean's business methods receive EJB services</text>
- <note>This is tested by the EJB TCK</note>
- </assertion>
- </group>
-
- <assertion id="g">
- <text>If the invocation is not a business method invocation, it is treated as a normal Java method call and is not intercepted by the container.</text>
- </assertion>
-
- <group>
- <text>Invocations of initializer methods by the container are not business method invocations.</text>
- <assertion id="ha">
- <text>Check initializer methods aren't decorated</text>
- </assertion>
- <assertion id="hb">
- <text>Check initializer methods aren't intercepted</text>
- </assertion>
- </group>
-
-
- <group>
<text>Invocations of producer, disposer and observer methods by the container are business method invocations are are intercepted by method interceptors and decorators.</text>
<assertion id="ia">
@@ -3620,13 +3588,12 @@
<assertion id="if">
<text>Verify observer methods are decorated</text>
</assertion>
- </group>
-
-
+ </group>
+
<assertion id="j">
<text>Invocation of lifecycle callbacks by the container are not business method invocations, but are intercepted by interceptors for lifecycle callbacks.</text>
- </assertion>
-
+ </assertion>
+
<group>
<text>Invocations of interceptors and decorator methods during method or lifecycle callback interception are not business method invocations, and therefore no recursive interception occurs.</text>
<assertion id="ka">
@@ -3644,7 +3611,40 @@
<assertion id="kd">
<text>Verify interceptor callbacks are not decorated</text>
</assertion>
+ </group>
+
+ <assertion id="a5">
+ <text>Invocations of message listener methods of message-driven beans during message delivery are business method invocations.</text>
+ </assertion>
+
+ <group>
+ <text>If, and only if, the invocation is a business method invocation it passes through the method interceptor and decorator stacks, and in the case of a session bean, it is subject to EJB services such a declarative transaction management, concurrency, security and asynchronicity, as defined by the EJB specification.</text>
+
+ <assertion id="a">
+ <text>Verify that a managed bean's business methods are intercepted</text>
+ </assertion>
+
+ <assertion id="b">
+ <text>Verify that a managed bean's business methods are decorated</text>
+ </assertion>
+
+ <assertion id="c">
+ <text>Verify that a session bean's business methods are intercepted</text>
+ </assertion>
+
+ <assertion id="d">
+ <text>Verify that a session bean's business methods are decorated</text>
+ </assertion>
+
+ <assertion id="f" testable="false">
+ <text>Verify that a session bean's business methods receive EJB services</text>
+ <note>This is tested by the EJB TCK</note>
+ </assertion>
</group>
+
+ <assertion id="g">
+ <text>If the invocation is not a business method invocation, it is treated as a normal Java method call and is not intercepted by the container.</text>
+ </assertion>
</section>
<section id="7.3" title="Lifecycle of contextual instances">
@@ -3795,7 +3795,7 @@
</group>
<group>
- <text>When the |destroy()| method is called, the container discards this internal reference. For certain kinds of resource, for example persistence contexts, the container eventually performs additional cleanup to destroy state associated with the client or transaction, as required by the Java EE platform specification.</text>
+ <text>When the |destroy()| method is called, the container discards this internal reference and performs any cleanup required of state associated with the client or transaction.</text>
<assertion id="na" testable="false">
<text>Check Java EE component environment resource</text>
@@ -3838,7 +3838,7 @@
<section id="8" title="Decorators">
<assertion id="a" testable="false">
- <text>Decorators may be bound to any managed bean that is not itself an interceptor or decorator or to any EJB session or message-driven bean.</text>
+ <text>Decorators may be associated with any managed bean that is not itself an interceptor or decorator or with any EJB session bean.</text>
<note>Doesn't specify an error</note>
</assertion>
</section>
@@ -3878,7 +3878,7 @@
<section id="8.1.2" title="Decorator delegate injection points">
<assertion id="a">
- <text>All decorators have a delegate injection point. A delegate injection point is an injection point of the bean class. The type and bindings of the injection point are called the delegate type and delegate bindings. The delegate injection point must be be declared by annotating the injection point with the annotation |(a)javax.decorator.Decorates|.</text>
+ <text>All decorators have a delegate injection point. A delegate injection point is an injection point of the bean class. The type and qualifiers of the injection point are called the delegate type and delegate qualifiers. The delegate injection point must be be declared by annotating the injection point with the annotation |(a)javax.decorator.Decorates|.</text>
</assertion>
<assertion id="b">
@@ -3986,7 +3986,7 @@
</assertion>
<assertion id="b">
- <text>For a custom implementation of the Decorator interface defined in Section 11.1.1, "The Decorator interface", the container calls |getDelegateType()|, |getDelegateBindings()| and |getDecoratedTypes()| to determine the delegate type and bindings and decorated types of the decorator.</text>
+ <text>For a custom implementation of the Decorator interface defined in Section 11.1.1, "The Decorator interface", the container calls |getDelegateType()|, |getDelegateQualifiers()| and |getDecoratedTypes()| to determine the delegate type and qualifiers and decorated types of the decorator.</text>
</assertion>
</section>
@@ -4034,7 +4034,7 @@
</assertion>
<assertion id="b">
- <text>An interceptor binding type may be declared by specifying the |(a)javax.interceptor.InterceptorBindingType| metaannotation.</text>
+ <text>An interceptor binding type may be declared by specifying the |(a)javax.interceptor.InterceptorBinding| meta-annotation.</text>
</assertion>
<assertion id="c">
@@ -4174,11 +4174,11 @@
</assertion>
<assertion id="b">
- <text>An annotation member may be excluded from consideration using the @NonBinding annotation.</text>
+ <text>An annotation member may be excluded from consideration using the @Nonbinding annotation.</text>
</assertion>
- <assertion id="c">
- <text>Array-valued or annotation-valued members of an interceptor binding type must be annotated |@NonBinding|. If an array-valued or annotation-valued member of an interceptor binding type is not annotated |@NonBinding|, the container automatically detects the problem and treats it as a definition error, as defined in Section 12.4, "Problems detected automatically by the container".</text>
+ <assertion id="ca">
+ <text>Array-valued or annotation-valued members of an interceptor binding type should be annotated |@Nonbinding| in a portable application. If an array-valued or annotation-valued member of an interceptor binding type is not annotated |@Nonbinding|, non-portable behavior results.</text>
</assertion>
<assertion id="d">
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3718 - in extensions/trunk/se/src/test: java/org/jboss/webbeans/environment/se/test/beans and 2 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-22 07:00:26 -0400 (Tue, 22 Sep 2009)
New Revision: 3718
Added:
extensions/trunk/se/src/test/resources/META-INF/services/
extensions/trunk/se/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension
Modified:
extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/StartMainTest.java
extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ObserverTestBean.java
Log:
Fix test
Modified: extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/StartMainTest.java
===================================================================
--- extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/StartMainTest.java 2009-09-22 10:52:17 UTC (rev 3717)
+++ extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/StartMainTest.java 2009-09-22 11:00:26 UTC (rev 3718)
@@ -88,15 +88,13 @@
@Test
public void testObservers()
{
+ ObserverTestBean.reset();
+
BeanManager manager = new StartMain(ARGS_EMPTY).go();
-
manager.fireEvent(new CustomEvent());
-
- ObserverTestBean observerTestBean = WebBeansManagerUtils.getInstanceByType(manager, ObserverTestBean.class);
- Assert.assertNotNull(observerTestBean);
- Assert.assertTrue(observerTestBean.isCustomObserved());
- Assert.assertTrue(observerTestBean.isBuiltInObserved());
-
+
+ Assert.assertTrue(ObserverTestBean.isBuiltInObserved());
+ Assert.assertTrue(ObserverTestBean.isCustomObserved());
}
private void shutdownManager(BeanManager manager)
Modified: extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ObserverTestBean.java
===================================================================
--- extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ObserverTestBean.java 2009-09-22 10:52:17 UTC (rev 3717)
+++ extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ObserverTestBean.java 2009-09-22 11:00:26 UTC (rev 3718)
@@ -19,18 +19,18 @@
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Observes;
import javax.enterprise.inject.spi.AfterDeploymentValidation;
+import javax.enterprise.inject.spi.Extension;
/**
* Tests the observing of both built-in and application-specific events.
*
* @author Peter Royle
*/
-@ApplicationScoped
-public class ObserverTestBean
+public class ObserverTestBean implements Extension
{
- private boolean builtInObserved = false;
- private boolean customObserved = false;
+ private static boolean builtInObserved = false;
+ private static boolean customObserved = false;
public ObserverTestBean()
{
@@ -38,19 +38,24 @@
public void observeBuiltInEvent(@Observes AfterDeploymentValidation after)
{
- this.builtInObserved = true;
+ builtInObserved = true;
}
public void observeCustomEvent(@Observes CustomEvent event)
{
- this.customObserved = true;
-
+ customObserved = true;
}
+
+ public static void reset()
+ {
+ customObserved = false;
+ builtInObserved = false;
+ }
/**
* @return the observed
*/
- public boolean isBuiltInObserved()
+ public static boolean isBuiltInObserved()
{
return builtInObserved;
}
@@ -58,7 +63,7 @@
/**
* @return
*/
- public boolean isCustomObserved()
+ public static boolean isCustomObserved()
{
return customObserved;
}
Added: extensions/trunk/se/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension
===================================================================
--- extensions/trunk/se/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension (rev 0)
+++ extensions/trunk/se/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension 2009-09-22 11:00:26 UTC (rev 3718)
@@ -0,0 +1 @@
+org.jboss.webbeans.environment.se.test.beans.ObserverTestBean
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3717 - in extensions/trunk/se/src: main/java/org/jboss/webbeans/environment/se/beans and 6 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2009-09-22 06:52:17 -0400 (Tue, 22 Sep 2009)
New Revision: 3717
Modified:
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/ShutdownManager.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/StartMain.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/beans/ParametersFactory.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/bindings/Parameters.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/AbstractScanner.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEBeanDeploymentArchive.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEWebBeanDiscovery.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEWebBeansDeployment.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/Scanner.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/URLScanner.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/events/Shutdown.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/util/Reflections.java
extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/util/WebBeansManagerUtils.java
extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/StartMainTest.java
extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/CustomEvent.java
extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/MainTestBean.java
extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ObserverTestBean.java
extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ParametersTestBean.java
Log:
ws
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/ShutdownManager.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/ShutdownManager.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/ShutdownManager.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -32,7 +32,9 @@
{
private static LogProvider log = Logging.getLogProvider(ShutdownManager.class);
- private @Inject WebBeansManager manager;
+
+ @Inject
+ private WebBeansManager manager;
private boolean hasShutdownBeenCalled = false;
@@ -66,7 +68,8 @@
* Shutdown WebBeans SE gracefully (call this as an alternative to firing the
* "@Shutdown Manager" event.
*/
- public void shutdown() {
+ public void shutdown()
+ {
shutdown(manager);
}
@@ -74,5 +77,5 @@
{
this.bootstrap = bootstrap;
}
-
+
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/StartMain.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/StartMain.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/StartMain.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -40,51 +40,56 @@
public class StartMain
{
- private static final String BOOTSTRAP_IMPL_CLASS_NAME = "org.jboss.webbeans.bootstrap.WebBeansBootstrap";
- private final Bootstrap bootstrap;
- private final BeanStore applicationBeanStore;
- public static String[] PARAMETERS;
- private WebBeansManager manager;
+ private static final String BOOTSTRAP_IMPL_CLASS_NAME = "org.jboss.webbeans.bootstrap.WebBeansBootstrap";
+ private final Bootstrap bootstrap;
+ private final BeanStore applicationBeanStore;
+ public static String[] PARAMETERS;
+ private WebBeansManager manager;
- public StartMain(String[] commandLineArgs)
- {
- PARAMETERS = commandLineArgs;
- try {
- bootstrap = Reflections.newInstance(BOOTSTRAP_IMPL_CLASS_NAME, Bootstrap.class);
- } catch (Exception e) {
- throw new IllegalStateException("Error loading Web Beans bootstrap, check that Web Beans is on the classpath", e);
- }
- this.applicationBeanStore = new ConcurrentHashMapBeanStore();
- }
+ public StartMain(String[] commandLineArgs)
+ {
+ PARAMETERS = commandLineArgs;
+ try
+ {
+ bootstrap = Reflections.newInstance(BOOTSTRAP_IMPL_CLASS_NAME, Bootstrap.class);
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException("Error loading Web Beans bootstrap, check that Web Beans is on the classpath", e);
+ }
+ this.applicationBeanStore = new ConcurrentHashMapBeanStore();
+ }
- public BeanManager go() {
- SEWebBeansDeployment deployment = new SEWebBeansDeployment() {};
- bootstrap.startContainer(Environments.SE, deployment, this.applicationBeanStore);
- final BeanDeploymentArchive mainBeanDepArch = deployment.getBeanDeploymentArchives().get(0);
- this.manager = bootstrap.getManager(mainBeanDepArch);
- bootstrap.startInitialization();
- bootstrap.deployBeans();
- WebBeansManagerUtils.getInstanceByType(manager, ShutdownManager.class).setBootstrap(bootstrap);
- bootstrap.validateBeans();
- bootstrap.endInitialization();
- return this.manager;
- }
+ public BeanManager go()
+ {
+ SEWebBeansDeployment deployment = new SEWebBeansDeployment()
+ {
+ };
+ bootstrap.startContainer(Environments.SE, deployment, this.applicationBeanStore);
+ final BeanDeploymentArchive mainBeanDepArch = deployment.getBeanDeploymentArchives().get(0);
+ this.manager = bootstrap.getManager(mainBeanDepArch);
+ bootstrap.startInitialization();
+ bootstrap.deployBeans();
+ WebBeansManagerUtils.getInstanceByType(manager, ShutdownManager.class).setBootstrap(bootstrap);
+ bootstrap.validateBeans();
+ bootstrap.endInitialization();
+ return this.manager;
+ }
- /**
- * The main method called from the command line.
- *
- * @param args
- * the command line arguments
- */
- public static void main(String[] args)
- {
- new StartMain(args).go();
- }
+ /**
+ * The main method called from the command line.
+ *
+ * @param args the command line arguments
+ */
+ public static void main(String[] args)
+ {
+ new StartMain(args).go();
+ }
- public static String[] getParameters()
- {
- // TODO(PR): make immutable
- return PARAMETERS;
- }
-
+ public static String[] getParameters()
+ {
+ // TODO(PR): make immutable
+ return PARAMETERS;
+ }
+
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/beans/ParametersFactory.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/beans/ParametersFactory.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/beans/ParametersFactory.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -40,16 +40,18 @@
private String[] args;
private List<String> argsList;
- public ParametersFactory() {
- this.setArgs(StartMain.PARAMETERS);
- }
-
+ public ParametersFactory()
+ {
+ this.setArgs(StartMain.PARAMETERS);
+ }
+
/**
* Producer method for the injectable command line args.
*
* @return The command line arguments.
*/
- @Produces @Parameters
+ @Produces
+ @Parameters
public List<String> getArgs()
{
return argsList;
@@ -57,10 +59,12 @@
/**
* Producer method for the injectable command line args.
+ *
* @return The command line arguments.
*/
- @Produces @Parameters
- public String[] getArgsAsArray( )
+ @Produces
+ @Parameters
+ public String[] getArgsAsArray()
{
return this.args;
}
@@ -68,17 +72,17 @@
/**
* StartMain passes in the command line args here.
*
- * @param args
- * The command line arguments. If null is given then an empty array
- * will be used instead.
+ * @param args The command line arguments. If null is given then an empty
+ * array will be used instead.
*/
public void setArgs(String[] args)
{
- if (args == null) {
+ if (args == null)
+ {
args = new String[] {};
}
this.args = args;
- this.argsList = Collections.unmodifiableList( new ArrayList<String>( Arrays.asList( args ) ) );
+ this.argsList = Collections.unmodifiableList(new ArrayList<String>(Arrays.asList(args)));
}
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/bindings/Parameters.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/bindings/Parameters.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/bindings/Parameters.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -22,7 +22,6 @@
import java.lang.annotation.Target;
import javax.inject.Qualifier;
-
/**
*
* @author Peter Royle
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/AbstractScanner.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/AbstractScanner.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/AbstractScanner.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -31,17 +31,17 @@
*/
public abstract class AbstractScanner implements Scanner
{
-
+
private static final LogProvider log = Logging.getLogProvider(Scanner.class);
private final ClassLoader classLoader;
private final SEWebBeanDiscovery webBeanDiscovery;
-
+
public AbstractScanner(ClassLoader classLoader, SEWebBeanDiscovery webBeanDiscovery)
{
this.classLoader = classLoader;
this.webBeanDiscovery = webBeanDiscovery;
}
-
+
protected void handle(String name, URL url)
{
if (name.endsWith(".class"))
@@ -65,19 +65,18 @@
webBeanDiscovery.getWbUrls().add(url);
}
}
-
+
public ClassLoader getClassLoader()
{
return classLoader;
}
-
+
/**
* Convert a path to a class file to a class name
*/
public static String filenameToClassname(String filename)
{
- return filename.substring( 0, filename.lastIndexOf(".class") )
- .replace('/', '.').replace('\\', '.');
+ return filename.substring(0, filename.lastIndexOf(".class")).replace('/', '.').replace('\\', '.');
}
-
+
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEBeanDeploymentArchive.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEBeanDeploymentArchive.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEBeanDeploymentArchive.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -35,50 +35,53 @@
*/
public class SEBeanDeploymentArchive implements BeanDeploymentArchive
{
- private final SEWebBeanDiscovery wbDiscovery;
- private final ServiceRegistry serviceRegistry;
+ private final SEWebBeanDiscovery wbDiscovery;
+ private final ServiceRegistry serviceRegistry;
- public SEBeanDeploymentArchive()
- {
- wbDiscovery = new SEWebBeanDiscovery() {};
- serviceRegistry = new SimpleServiceRegistry();
- }
+ public SEBeanDeploymentArchive()
+ {
+ wbDiscovery = new SEWebBeanDiscovery()
+ {
+ };
+ serviceRegistry = new SimpleServiceRegistry();
+ }
- /**
- * @return a collection of all Bean classes on the classpath.
- */
- public Collection<Class<?>> getBeanClasses()
- {
- return wbDiscovery.getWbClasses();
- }
+ /**
+ * @return a collection of all Bean classes on the classpath.
+ */
+ public Collection<Class<?>> getBeanClasses()
+ {
+ return wbDiscovery.getWbClasses();
+ }
- /**
- * @return an empty collection, since this instance is the only logical
- * archive for the current SE classloader.
- */
- public List<BeanDeploymentArchive> getBeanDeploymentArchives()
- {
- return Collections.EMPTY_LIST;
- }
+ /**
+ * @return an empty collection, since this instance is the only logical
+ * archive for the current SE classloader.
+ */
+ public List<BeanDeploymentArchive> getBeanDeploymentArchives()
+ {
+ return Collections.EMPTY_LIST;
+ }
- /**
- * @return all beans.xml decriptors found on the classpath.
- */
- public Collection<URL> getBeansXml()
- {
- return wbDiscovery.discoverWebBeansXml();
- }
+ /**
+ * @return all beans.xml decriptors found on the classpath.
+ */
+ public Collection<URL> getBeansXml()
+ {
+ return wbDiscovery.discoverWebBeansXml();
+ }
- /**
- * @return an empty collection since there are no EJBs in Java SE.
- */
- public Collection<EjbDescriptor<?>> getEjbs()
- {
- return Collections.EMPTY_SET;
- }
+ /**
+ * @return an empty collection since there are no EJBs in Java SE.
+ */
+ public Collection<EjbDescriptor<?>> getEjbs()
+ {
+ return Collections.EMPTY_SET;
+ }
- public ServiceRegistry getServices() {
- return this.serviceRegistry;
- }
+ public ServiceRegistry getServices()
+ {
+ return this.serviceRegistry;
+ }
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEWebBeanDiscovery.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEWebBeanDiscovery.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEWebBeanDiscovery.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -34,41 +34,41 @@
*/
public abstract class SEWebBeanDiscovery
{
-
+
private final Set<Class<?>> wbClasses;
private final Set<URL> wbUrls;
-
+
public SEWebBeanDiscovery()
{
this.wbClasses = new HashSet<Class<?>>();
this.wbUrls = new HashSet<URL>();
scan();
}
-
+
public Iterable<Class<?>> discoverWebBeanClasses()
{
return Collections.unmodifiableSet(wbClasses);
}
-
+
public Collection<URL> discoverWebBeansXml()
{
return Collections.unmodifiableSet(wbUrls);
}
-
+
public Set<Class<?>> getWbClasses()
{
return wbClasses;
}
-
+
public Set<URL> getWbUrls()
{
return wbUrls;
}
-
+
private void scan()
{
Scanner scanner = new URLScanner(Reflections.getClassLoader(), this);
scanner.scanResources(new String[] { "META-INF/beans.xml" });
}
-
+
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEWebBeansDeployment.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEWebBeansDeployment.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/SEWebBeansDeployment.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -24,44 +24,46 @@
/**
* WebBeans Deployment for Java SE environment.
- *
+ *
* @author Peter Royle
*/
public abstract class SEWebBeansDeployment implements Deployment
{
- private final BeanDeploymentArchive beanDeploymentArchive;
- private final List<BeanDeploymentArchive> archInCollection;
+ private final BeanDeploymentArchive beanDeploymentArchive;
+ private final List<BeanDeploymentArchive> archInCollection;
- public SEWebBeansDeployment()
- {
- this.beanDeploymentArchive = new SEBeanDeploymentArchive();
- this.archInCollection = new ArrayList<BeanDeploymentArchive>(1);
- this.archInCollection.add(this.beanDeploymentArchive);
- }
+ public SEWebBeansDeployment()
+ {
+ this.beanDeploymentArchive = new SEBeanDeploymentArchive();
+ this.archInCollection = new ArrayList<BeanDeploymentArchive>(1);
+ this.archInCollection.add(this.beanDeploymentArchive);
+ }
+ /**
+ * {@inheritDoc}
+ *
+ * @return A collection containing the singular logical BeanDeploymentArchive
+ * consisting of all Bean classes and beans.xml descriptors in the
+ * current classpath.
+ */
+ public List<BeanDeploymentArchive> getBeanDeploymentArchives()
+ {
+ return this.archInCollection;
+ }
- /**
- * {@inheritDoc}
- * @return A collection containing the singular logical BeanDeploymentArchive
- * consisting of all Bean classes and beans.xml descriptors in the current
- * classpath.
- */
- public List<BeanDeploymentArchive> getBeanDeploymentArchives()
- {
- return this.archInCollection;
- }
+ /**
+ * {@inheritDoc}
+ *
+ * @return The singular logical BeanDeploymentArchive consisting of all which
+ * contains all Beans classes.
+ */
+ public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
+ {
+ return this.beanDeploymentArchive;
+ }
- /**
- * {@inheritDoc}
- * @return The singular logical BeanDeploymentArchive consisting of all
- * which contains all Beans classes.
- */
- public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass)
- {
- return this.beanDeploymentArchive;
- }
-
- public ServiceRegistry getServices() {
- return this.beanDeploymentArchive.getServices();
- }
+ public ServiceRegistry getServices()
+ {
+ return this.beanDeploymentArchive.getServices();
+ }
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/Scanner.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/Scanner.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/Scanner.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -31,17 +31,15 @@
/**
* Recursively scan directories.
*
- * @param directories
- * An array of the roots of the directory trees to scan
+ * @param directories An array of the roots of the directory trees to scan
*/
public void scanDirectories(File[] directories);
-
+
/**
* Scan for structures which contain any of the given resources in their root
*
- * @param resources
- * The resources to scan for
+ * @param resources The resources to scan for
*/
public void scanResources(String[] resources);
-
+
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/URLScanner.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/URLScanner.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/discovery/URLScanner.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -32,7 +32,6 @@
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
-
/**
* Implementation of {@link Scanner} which can scan a {@link URLClassLoader}
*
@@ -45,7 +44,7 @@
public class URLScanner extends AbstractScanner
{
private static final LogProvider log = Logging.getLogProvider(URLScanner.class);
-
+
public URLScanner(ClassLoader classLoader, SEWebBeanDiscovery webBeanDiscovery)
{
super(classLoader, webBeanDiscovery);
@@ -58,27 +57,27 @@
handleDirectory(directory, null);
}
}
-
+
public void scanResources(String[] resources)
{
Set<String> paths = new HashSet<String>();
-
+
for (String resourceName : resources)
{
try
{
Enumeration<URL> urlEnum = getClassLoader().getResources(resourceName);
-
+
while (urlEnum.hasMoreElements())
{
String urlPath = urlEnum.nextElement().getFile();
urlPath = URLDecoder.decode(urlPath, "UTF-8");
-
+
if (urlPath.startsWith("file:"))
{
urlPath = urlPath.substring(5);
}
-
+
if (urlPath.indexOf('!') > 0)
{
urlPath = urlPath.substring(0, urlPath.indexOf('!'));
@@ -86,16 +85,16 @@
else
{
File dirOrArchive = new File(urlPath);
-
+
if ((resourceName != null) && (resourceName.lastIndexOf('/') > 0))
{
// for META-INF/components.xml
dirOrArchive = dirOrArchive.getParentFile();
}
-
+
urlPath = dirOrArchive.getParent();
}
-
+
paths.add(urlPath);
}
}
@@ -104,10 +103,10 @@
log.warn("could not read: " + resourceName, ioe);
}
}
-
+
handle(paths);
}
-
+
protected void handle(Set<String> paths)
{
for (String urlPath : paths)
@@ -115,9 +114,9 @@
try
{
log.trace("scanning: " + urlPath);
-
+
File file = new File(urlPath);
-
+
if (file.isDirectory())
{
handleDirectory(file, null);
@@ -133,16 +132,16 @@
}
}
}
-
+
private void handleArchiveByFile(File file) throws IOException
{
try
{
log.trace("archive: " + file);
-
+
ZipFile zip = new ZipFile(file);
Enumeration<? extends ZipEntry> entries = zip.entries();
-
+
while (entries.hasMoreElements())
{
ZipEntry entry = entries.nextElement();
@@ -155,12 +154,12 @@
throw new RuntimeException("Error handling file " + file, e);
}
}
-
+
private void handleDirectory(File file, String path)
{
handleDirectory(file, path, new File[0]);
}
-
+
private void handleDirectory(File file, String path, File[] excludedDirectories)
{
for (File excludedDirectory : excludedDirectories)
@@ -168,17 +167,17 @@
if (file.equals(excludedDirectory))
{
log.trace("skipping excluded directory: " + file);
-
+
return;
}
}
-
+
log.trace("handling directory: " + file);
-
+
for (File child : file.listFiles())
{
String newPath = (path == null) ? child.getName() : (path + '/' + child.getName());
-
+
if (child.isDirectory())
{
handleDirectory(child, newPath, excludedDirectories);
@@ -196,5 +195,5 @@
}
}
}
-
+
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/events/Shutdown.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/events/Shutdown.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/events/Shutdown.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -32,4 +32,4 @@
@Qualifier
@Retention(RetentionPolicy.RUNTIME)
@Target( { ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD, ElementType.TYPE })
-public @interface Shutdown{}
+public @interface Shutdown {}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/util/Reflections.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/util/Reflections.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/util/Reflections.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -24,17 +24,17 @@
*/
public abstract class Reflections
{
-
+
private Reflections()
{
// TODO Auto-generated constructor stub
}
-
+
public static <T> T newInstance(String className, Class<T> expectedType) throws InstantiationException, IllegalAccessException, ClassNotFoundException
{
return loadClass(className, expectedType).newInstance();
}
-
+
public static <T> Class<? extends T> loadClass(String className, Class<T> expectedType) throws ClassNotFoundException
{
if (Thread.currentThread().getContextClassLoader() != null)
@@ -46,7 +46,7 @@
return Class.forName(className).asSubclass(expectedType);
}
}
-
+
public static ClassLoader getClassLoader()
{
if (Thread.currentThread().getContextClassLoader() != null)
@@ -58,5 +58,5 @@
return Reflections.class.getClassLoader();
}
}
-
+
}
Modified: extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/util/WebBeansManagerUtils.java
===================================================================
--- extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/util/WebBeansManagerUtils.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/main/java/org/jboss/webbeans/environment/se/util/WebBeansManagerUtils.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -26,16 +26,18 @@
*
* @author Peter Royle
*/
-public class WebBeansManagerUtils {
+public class WebBeansManagerUtils
+{
- public static <T> T getInstanceByType(BeanManager manager, Class<T> type, Annotation... bindings) {
- final Bean<?> bean = manager.getBeans(type).iterator().next();
- CreationalContext cc = manager.createCreationalContext(bean);
- return (T)manager.getReference(bean, type, cc);
- }
+ public static <T> T getInstanceByType(BeanManager manager, Class<T> type, Annotation... bindings)
+ {
+ final Bean<?> bean = manager.getBeans(type).iterator().next();
+ CreationalContext cc = manager.createCreationalContext(bean);
+ return (T) manager.getReference(bean, type, cc);
+ }
- public static <T> T getInstanceByType(BeanManager manager, Class<T> type, CreationalContext cc, Annotation... bindings) {
- return (T)manager.getReference(
- manager.getBeans(type).iterator().next(), type, cc);
- }
+ public static <T> T getInstanceByType(BeanManager manager, Class<T> type, CreationalContext cc, Annotation... bindings)
+ {
+ return (T) manager.getReference(manager.getBeans(type).iterator().next(), type, cc);
+ }
}
Modified: extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/StartMainTest.java
===================================================================
--- extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/StartMainTest.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/StartMainTest.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -30,84 +30,86 @@
import org.testng.annotations.Test;
/**
- *
+ *
* @author Peter Royle
*/
-public class StartMainTest {
+public class StartMainTest
+{
- public static String[] ARGS = new String[] { "arg1", "arg2", "arg3"};
- public static String[] ARGS_EMPTY = new String[] { };
+ public static String[] ARGS = new String[] { "arg1", "arg2", "arg3" };
+ public static String[] ARGS_EMPTY = new String[] {};
- /**
- * Test of main method, of class StartMain. Checks that the beans
- * found in the org.jboss.webbeans.environment.se.beans package are
- * initialised as expected.
- */
- @Test
- public void testMain()
- {
- String[] args = ARGS ;
- BeanManager manager = new StartMain(args).go();
+ /**
+ * Test of main method, of class StartMain. Checks that the beans found in
+ * the org.jboss.webbeans.environment.se.beans package are initialised as
+ * expected.
+ */
+ @Test
+ public void testMain()
+ {
+ String[] args = ARGS;
+ BeanManager manager = new StartMain(args).go();
- MainTestBean mainTestBean = WebBeansManagerUtils.getInstanceByType( manager, MainTestBean.class );
- Assert.assertNotNull( mainTestBean );
+ MainTestBean mainTestBean = WebBeansManagerUtils.getInstanceByType(manager, MainTestBean.class);
+ Assert.assertNotNull(mainTestBean);
- ParametersTestBean paramsBean = mainTestBean.getParametersTestBean();
- Assert.assertNotNull( paramsBean );
- Assert.assertNotNull( paramsBean.getParameters() );
- Assert.assertNotNull( paramsBean.getParameters().get(0) );
- Assert.assertEquals( ARGS[0], paramsBean.getParameters().get(0) );
- Assert.assertNotNull( paramsBean.getParameters().get(1) );
- Assert.assertEquals( ARGS[1], paramsBean.getParameters().get(1) );
- Assert.assertNotNull( paramsBean.getParameters().get(2) );
- Assert.assertEquals( ARGS[2], paramsBean.getParameters().get(2) );
+ ParametersTestBean paramsBean = mainTestBean.getParametersTestBean();
+ Assert.assertNotNull(paramsBean);
+ Assert.assertNotNull(paramsBean.getParameters());
+ Assert.assertNotNull(paramsBean.getParameters().get(0));
+ Assert.assertEquals(ARGS[0], paramsBean.getParameters().get(0));
+ Assert.assertNotNull(paramsBean.getParameters().get(1));
+ Assert.assertEquals(ARGS[1], paramsBean.getParameters().get(1));
+ Assert.assertNotNull(paramsBean.getParameters().get(2));
+ Assert.assertEquals(ARGS[2], paramsBean.getParameters().get(2));
- shutdownManager(manager);
- }
+ shutdownManager(manager);
+ }
- /**
- * Test of main method, of class StartMain when no command-line args are
- * provided.
- */
- @Test
- public void testMainEmptyArgs()
- {
- BeanManager manager = new StartMain(ARGS_EMPTY).go();
+ /**
+ * Test of main method, of class StartMain when no command-line args are
+ * provided.
+ */
+ @Test
+ public void testMainEmptyArgs()
+ {
+ BeanManager manager = new StartMain(ARGS_EMPTY).go();
- MainTestBean mainTestBean = WebBeansManagerUtils.getInstanceByType( manager, MainTestBean.class );
- Assert.assertNotNull( mainTestBean );
+ MainTestBean mainTestBean = WebBeansManagerUtils.getInstanceByType(manager, MainTestBean.class);
+ Assert.assertNotNull(mainTestBean);
- ParametersTestBean paramsBean = mainTestBean.getParametersTestBean();
- Assert.assertNotNull( paramsBean );
- Assert.assertNotNull( paramsBean.getParameters() );
+ ParametersTestBean paramsBean = mainTestBean.getParametersTestBean();
+ Assert.assertNotNull(paramsBean);
+ Assert.assertNotNull(paramsBean.getParameters());
- shutdownManager(manager);
- }
+ shutdownManager(manager);
+ }
- @Test
- public void testObservers() {
- BeanManager manager = new StartMain(ARGS_EMPTY).go();
+ @Test
+ public void testObservers()
+ {
+ BeanManager manager = new StartMain(ARGS_EMPTY).go();
- manager.fireEvent( new CustomEvent() );
+ manager.fireEvent(new CustomEvent());
- ObserverTestBean observerTestBean = WebBeansManagerUtils.getInstanceByType( manager, ObserverTestBean.class );
- Assert.assertNotNull( observerTestBean );
- Assert.assertTrue( observerTestBean.isCustomObserved() );
- Assert.assertTrue( observerTestBean.isBuiltInObserved() );
+ ObserverTestBean observerTestBean = WebBeansManagerUtils.getInstanceByType(manager, ObserverTestBean.class);
+ Assert.assertNotNull(observerTestBean);
+ Assert.assertTrue(observerTestBean.isCustomObserved());
+ Assert.assertTrue(observerTestBean.isBuiltInObserved());
- }
+ }
- private void shutdownManager( BeanManager manager )
- {
- manager.fireEvent( manager, new ShutdownAnnotation() );
- }
+ private void shutdownManager(BeanManager manager)
+ {
+ manager.fireEvent(manager, new ShutdownAnnotation());
+ }
- private static class ShutdownAnnotation extends AnnotationLiteral<Shutdown>
- {
+ private static class ShutdownAnnotation extends AnnotationLiteral<Shutdown>
+ {
- public ShutdownAnnotation()
- {
- }
- }
+ public ShutdownAnnotation()
+ {
+ }
+ }
}
Modified: extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/CustomEvent.java
===================================================================
--- extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/CustomEvent.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/CustomEvent.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -22,6 +22,7 @@
*
* @author Peter Royle
*/
-public class CustomEvent {
+public class CustomEvent
+{
}
Modified: extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/MainTestBean.java
===================================================================
--- extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/MainTestBean.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/MainTestBean.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -23,40 +23,42 @@
import javax.inject.Inject;
/**
- *
+ *
* @author Peter Royle
*/
@ApplicationScoped
public class MainTestBean implements Serializable
{
- boolean initialised = false;
- ParametersTestBean parametersTestBean;
+ boolean initialised = false;
+ ParametersTestBean parametersTestBean;
- public MainTestBean() {
- }
+ public MainTestBean()
+ {
+ }
- @Inject
- public MainTestBean(ParametersTestBean paramsTestBean)
- {
- this.initialised = true;
- this.parametersTestBean = paramsTestBean;
- // this call is important. It invokes initialiser on the proxy
- paramsTestBean.getParameters();
- }
+ @Inject
+ public MainTestBean(ParametersTestBean paramsTestBean)
+ {
+ this.initialised = true;
+ this.parametersTestBean = paramsTestBean;
+ // this call is important. It invokes initialiser on the proxy
+ paramsTestBean.getParameters();
+ }
- public void mainMethod(@Observes AfterDeploymentValidation after) {
- System.out.println( "Starting main test app" );
- }
+ public void mainMethod(@Observes AfterDeploymentValidation after)
+ {
+ System.out.println("Starting main test app");
+ }
- public ParametersTestBean getParametersTestBean()
- {
- return parametersTestBean;
- }
+ public ParametersTestBean getParametersTestBean()
+ {
+ return parametersTestBean;
+ }
- public boolean isInitialised()
- {
- return initialised;
- }
-
+ public boolean isInitialised()
+ {
+ return initialised;
+ }
+
}
Modified: extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ObserverTestBean.java
===================================================================
--- extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ObserverTestBean.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ObserverTestBean.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -26,37 +26,41 @@
* @author Peter Royle
*/
@ApplicationScoped
-public class ObserverTestBean {
+public class ObserverTestBean
+{
- private boolean builtInObserved = false;
- private boolean customObserved = false;
+ private boolean builtInObserved = false;
+ private boolean customObserved = false;
- public ObserverTestBean() {
- }
+ public ObserverTestBean()
+ {
+ }
- public void observeBuiltInEvent(@Observes AfterDeploymentValidation after) {
- this.builtInObserved = true;
- }
+ public void observeBuiltInEvent(@Observes AfterDeploymentValidation after)
+ {
+ this.builtInObserved = true;
+ }
- public void observeCustomEvent(@Observes CustomEvent event) {
- this.customObserved = true;
+ public void observeCustomEvent(@Observes CustomEvent event)
+ {
+ this.customObserved = true;
- }
-
- /**
- * @return the observed
- */
- public boolean isBuiltInObserved() {
- return builtInObserved;
- }
+ }
- /**
- * @return
- */
- public boolean isCustomObserved() {
- return customObserved;
- }
+ /**
+ * @return the observed
+ */
+ public boolean isBuiltInObserved()
+ {
+ return builtInObserved;
+ }
+ /**
+ * @return
+ */
+ public boolean isCustomObserved()
+ {
+ return customObserved;
+ }
-
}
Modified: extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ParametersTestBean.java
===================================================================
--- extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ParametersTestBean.java 2009-09-21 21:45:58 UTC (rev 3716)
+++ extensions/trunk/se/src/test/java/org/jboss/webbeans/environment/se/test/beans/ParametersTestBean.java 2009-09-22 10:52:17 UTC (rev 3717)
@@ -27,27 +27,31 @@
import org.testng.Assert;
/**
- *
+ *
* @author Peter Royle
*/
@ApplicationScoped
-public class ParametersTestBean implements Serializable {
+public class ParametersTestBean implements Serializable
+{
- List<String> parameters;
+ List<String> parameters;
- public ParametersTestBean() {
- }
+ public ParametersTestBean()
+ {
+ }
- @Inject
- public ParametersTestBean(@Parameters List<String> params) {
- this.parameters = params;
- // even if no args are given, it should will always at least be an empty array
- Assert.assertNotNull( params );
- }
+ @Inject
+ public ParametersTestBean(@Parameters List<String> params)
+ {
+ this.parameters = params;
+ // even if no args are given, it should will always at least be an empty
+ // array
+ Assert.assertNotNull(params);
+ }
- public List<String> getParameters()
- {
- return parameters;
- }
+ public List<String> getParameters()
+ {
+ return parameters;
+ }
}
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3716 - in ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean: builder and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: kabir.khan(a)jboss.com
Date: 2009-09-21 17:45:58 -0400 (Mon, 21 Sep 2009)
New Revision: 3716
Modified:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractProducerBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java
Log:
Encapsulate builder better, and make beans more immutable
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -206,7 +206,7 @@
{
Set<FieldInjectionPoint<?, ?>> injectableFields = new HashSet<FieldInjectionPoint<?, ?>>(Beans.getFieldInjectionPoints(this, annotatedItem));
addInjectionPoints(injectableFields);
- return injectableFields;
+ return Collections.unmodifiableSet(injectableFields);
}
/**
@@ -216,7 +216,7 @@
{
Set<MethodInjectionPoint<?, ?>> initializerMethods = Beans.getInitializerMethods(this, getAnnotatedItem());
addInjectionPoints(Beans.getParameterInjectionPoints(this, initializerMethods));
- return initializerMethods;
+ return Collections.unmodifiableSet(initializerMethods);
}
/**
@@ -255,7 +255,7 @@
*/
public Set<? extends MethodInjectionPoint<?, ?>> getInitializerMethods()
{
- return Collections.unmodifiableSet(initializerMethods);
+ return initializerMethods;
}
/**
@@ -263,7 +263,7 @@
*/
public Set<FieldInjectionPoint<?, ?>> getInjectableFields()
{
- return Collections.unmodifiableSet(injectableFields);
+ return injectableFields;
}
// TODO maybe a better way to expose this?
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -21,6 +21,7 @@
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -45,11 +46,11 @@
public class DecoratorImpl<T> extends ManagedBean<T> implements Decorator<T>
{
- private WBInjectionPoint<?, ?> delegateInjectionPoint;
- private final Set<Annotation> delegateBindings = new HashSet<Annotation>();
- private Type delegateType;
- private Set<Type> delegateTypes;
- private Set<Type> decoratedTypes;
+ private final WBInjectionPoint<?, ?> delegateInjectionPoint;
+ private final Set<Annotation> delegateBindings;
+ private final Type delegateType;
+ private final Set<Type> delegateTypes;
+ private final Set<Type> decoratedTypes;
/**
* Creates a decorator bean
@@ -95,23 +96,25 @@
postConstruct, preDestroy, specializedBean);
checkDelegateInjectionPoints();
- initDelegateInjectionPoint();
- initDecoratedTypes();
- initDelegateBindings();
- initDelegateType();
+ delegateInjectionPoint = initDelegateInjectionPoint();
+ decoratedTypes = Collections.unmodifiableSet(initDecoratedTypes());
+ delegateBindings = Collections.unmodifiableSet(initDelegateBindings());
+ delegateType = this.delegateInjectionPoint.getBaseType();
+ delegateTypes = Collections.unmodifiableSet(initDelegateTypes());
checkDelegateType();
}
- protected void initDecoratedTypes()
+ protected Set<Type> initDecoratedTypes()
{
- this.decoratedTypes = new HashSet<Type>();
- this.decoratedTypes.addAll(getAnnotatedItem().getInterfaceOnlyFlattenedTypeHierarchy());
- this.decoratedTypes.remove(Serializable.class);
+ Set<Type> types = new HashSet<Type>();
+ types.addAll(getAnnotatedItem().getInterfaceOnlyFlattenedTypeHierarchy());
+ types.remove(Serializable.class);
+ return types;
}
- protected void initDelegateInjectionPoint()
+ protected WBInjectionPoint<?, ?> initDelegateInjectionPoint()
{
- this.delegateInjectionPoint = getDelegateInjectionPoints().iterator().next();
+ return getDelegateInjectionPoints().iterator().next();
}
@Override
@@ -134,16 +137,16 @@
}
}
- protected void initDelegateBindings()
+ protected Set<Annotation> initDelegateBindings()
{
- this.delegateBindings.addAll(this.delegateInjectionPoint.getQualifiers());
+ return this.delegateInjectionPoint.getQualifiers();
}
- protected void initDelegateType()
+ protected Set<Type> initDelegateTypes()
{
- this.delegateType = this.delegateInjectionPoint.getBaseType();
- this.delegateTypes = new HashSet<Type>();
- delegateTypes.add(delegateType);
+ Set<Type> types = new HashSet<Type>();
+ types.add(delegateType);
+ return types;
}
protected void checkDelegateType()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -61,13 +61,13 @@
private final Log log = Logging.getLog(AbstractBeanBuilder.class);
// The binding types
- protected Set<Annotation> bindings;
+ private Set<Annotation> bindings;
// The name
- protected String name;
+ private String name;
// The scope type
- protected Class<? extends Annotation> scopeType;
+ private Class<? extends Annotation> scopeType;
// The merged stereotypes
private MergedStereotypes<T, E> mergedStereotypes;
@@ -79,13 +79,13 @@
protected Class<T> type;
// The API types
- protected Set<Type> types;
+ private Set<Type> types;
// If the type a primitive?
private boolean primitive;
// The Web Beans manager
- protected BeanManagerImpl manager;
+ private BeanManagerImpl manager;
private boolean serializable;
@@ -142,6 +142,11 @@
{
types = getAnnotatedItem().getTypeClosure();
}
+
+ void setTypes(Set<Type> types)
+ {
+ this.types = types;
+ }
/**
* Initializes the binding types
@@ -154,6 +159,11 @@
log.trace("Using binding types " + bindings + " specified by annotations");
}
+ void setBindings(Set<Annotation> bindings)
+ {
+ this.bindings = bindings;
+ }
+
void initDefaultBindings()
{
if (bindings.size() == 0)
@@ -335,6 +345,11 @@
{
return scopeType;
}
+
+ void setScope(Class<? extends Annotation> scopeType)
+ {
+ this.scopeType = scopeType;
+ }
/**
* Gets the type of the bean
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -241,8 +241,8 @@
{
if (getAnnotatedItem().isAnnotationPresent(scopeTypes.iterator().next().annotationType()))
{
- this.scopeType = scopeTypes.iterator().next().annotationType();
- log.trace("Scope " + scopeType + " specified by annotation");
+ setScope(scopeTypes.iterator().next().annotationType());
+ log.trace("Scope " + getScope() + " specified by annotation");
}
break;
}
@@ -252,14 +252,14 @@
}
}
- if (this.scopeType == null)
+ if (getScope() == null)
{
initScopeTypeFromStereotype();
}
- if (this.scopeType == null)
+ if (this.getScope() == null)
{
- this.scopeType = Dependent.class;
+ setScope(Dependent.class);
log.trace("Using default @Dependent scope");
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractProducerBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractProducerBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractProducerBeanBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -94,14 +94,14 @@
types = new HashSet<Type>();
types.add(getType());
types.add(Object.class);
- super.types = types;
+ setTypes(types);
}
else if (getType().isInterface())
{
Set<Type> types = new HashSet<Type>();
types.add(Object.class);
types.addAll(getAnnotatedItem().getTypeClosure());
- super.types = types;
+ setTypes(types);
}
else
{
@@ -189,12 +189,12 @@
}
else if (instance != null)
{
- boolean passivating = manager.getServices().get(MetaAnnotationStore.class).getScopeModel(getScope()).isPassivating();
+ boolean passivating = getManager().getServices().get(MetaAnnotationStore.class).getScopeModel(getScope()).isPassivating();
if (passivating && !Reflections.isSerializable(instance.getClass()))
{
throw new IllegalProductException("Producers cannot declare passivating scope and return a non-serializable class");
}
- InjectionPoint injectionPoint = manager.getCurrentInjectionPoint();
+ InjectionPoint injectionPoint = getManager().getCurrentInjectionPoint();
if (injectionPoint == null)
{
return;
@@ -240,16 +240,16 @@
}
if (scopeAnnotations.size() == 1)
{
- this.scopeType = scopeAnnotations.iterator().next().annotationType();
- log.trace("Scope " + scopeType + " specified by annotation");
+ setScope(scopeAnnotations.iterator().next().annotationType());
+ log.trace("Scope " + getScope() + " specified by annotation");
return;
}
initScopeTypeFromStereotype();
- if (this.scopeType == null)
+ if (getScope() == null)
{
- this.scopeType = Dependent.class;
+ setScope(Dependent.class);
log.trace("Using default @Dependent scope");
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -77,7 +77,7 @@
return creationalContextImpl.getIncompleteInstance(getDeclaringBean());
}
}
- return manager.getReference(getDeclaringBean(), Object.class, creationalContext);
+ return getManager().getReference(getDeclaringBean(), Object.class, creationalContext);
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -144,13 +144,13 @@
{
DecoratorImpl<T> bean = DecoratorImpl.of(getAnnotatedItem(),
getManager(),
- name,
+ getName(),
getMergedStereotypes(),
getScope(),
null,
isAlternative(),
isProxyable(),
- bindings,
+ getQualifiers(),
getSuperclasses(),
getPostConstruct(),
getPreDestroy(),
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -91,8 +91,9 @@
void initBindings()
{
// At least 1 parameter exists, already checked in constructor
- this.bindings = new HashSet<Annotation>();
- this.bindings.addAll(disposalMethod.getWBParameters().get(0).getQualifiers());
+ HashSet<Annotation> bindings = new HashSet<Annotation>();
+ bindings.addAll(disposalMethod.getWBParameters().get(0).getQualifiers());
+ setBindings(bindings);
initDefaultBindings();
}
@@ -106,7 +107,7 @@
types = new HashSet<Type>();
types.addAll(disposalMethod.getAnnotatedWBParameters(Disposes.class).get(0).getTypeClosure());
types.add(Object.class);
- super.types = types;
+ setTypes(types);
}
@Override
@@ -122,12 +123,6 @@
}
@Override
- Set<Type> getTypes()
- {
- return types;
- }
-
- @Override
public String toString()
{
return disposalMethod.toString();
@@ -240,16 +235,16 @@
DisposalMethod<T> createBean()
{
- DisposalMethod<T> bean = DisposalMethod.of(manager,
- name,
+ DisposalMethod<T> bean = DisposalMethod.of(getManager(),
+ getName(),
disposalMethod,
getDeclaringBean(),
- type,
- types,
+ getType(),
+ getTypes(),
getMergedStereotypes(),
isAlternative(),
isProxyable(),
- bindings);
+ getQualifiers());
bean.initialize();
registerSpecializedBean(bean);
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -104,7 +104,7 @@
{
throw new DefinitionException("Managed bean " + type + " must be @Dependent");
}
- boolean passivating = manager.getServices().get(MetaAnnotationStore.class).getScopeModel(scopeType).isPassivating();
+ boolean passivating = getManager().getServices().get(MetaAnnotationStore.class).getScopeModel(getScope()).isPassivating();
if (passivating && !Reflections.isSerializable(getBeanClass()))
{
throw new DefinitionException("Simple bean declaring a passivating scope must have a serializable implementation class " + toString());
@@ -221,13 +221,13 @@
ManagedBean<T> bean = ManagedBean.of(
getAnnotatedItem(),
getManager(),
- name,
+ getName(),
getMergedStereotypes(),
getScope(),
getDecorators(),
isAlternative(),
isProxyable(),
- bindings,
+ getQualifiers(),
getSuperclasses(),
getProxyClassForDecorators(),
getPostConstruct(),
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -122,13 +122,13 @@
NewManagedBean<T> bean = NewManagedBean.of(
getAnnotatedItem(),
getManager(),
- name,
+ getName(),
getMergedStereotypes(),
getScope(),
getDecorators(),
isAlternative(),
isAlternative(),
- bindings,
+ getQualifiers(),
getSuperclasses(),
getProxyClassForDecorators(),
getPostConstruct(),
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -130,14 +130,14 @@
{
NewSessionBean<T> bean = NewSessionBean.of(getEjbDescriptor(),
getManager(),
- name,
- types,
+ getName(),
+ getTypes(),
getMergedStereotypes(),
getScope(),
getDecorators(),
isAlternative(),
isProxyable(),
- bindings,
+ getQualifiers(),
getSuperclasses(),
getProxyClassForDecorators(),
getPostConstruct(),
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -163,44 +163,44 @@
{
bean = PersistenceContextProducerField.of(field,
getDeclaringBean(),
- manager,
- name,
- type,
- types,
- getMergedStereotypes(), //Should be empty?
+ getManager(),
+ getName(),
+ getType(),
+ getTypes(),
+ getMergedStereotypes(),
getScope(),
isAlternative(),
isProxyable(),
- bindings);
+ getQualifiers());
}
else if (isEEResourceProducerField(field))
{
bean = EEResourceProducerField.of(field,
getDeclaringBean(),
- manager,
- name,
- type,
- types,
- getMergedStereotypes(), //Should be empty?
+ getManager(),
+ getName(),
+ getType(),
+ getTypes(),
+ getMergedStereotypes(),
getScope(),
isAlternative(),
isProxyable(),
- bindings);
+ getQualifiers());
}
else
{
bean = ProducerField.of(field,
getDeclaringBean(),
- manager,
- name,
- type,
- types,
- getMergedStereotypes(), //Should be empty?
+ getManager(),
+ getName(),
+ getType(),
+ getTypes(),
+ getMergedStereotypes(),
getScope(),
isAlternative(),
isProxyable(),
- bindings);
+ getQualifiers());
}
bean.initialize();
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -248,15 +248,15 @@
{
ProducerMethod<T> bean = ProducerMethod.of(method,
getDeclaringBean(),
- manager,
- name,
- type,
- types,
+ getManager(),
+ getName(),
+ getType(),
+ getTypes(),
getMergedStereotypes(),
- scopeType,
+ getScope(),
isAlternative(),
isProxyable(),
- bindings,
+ getQualifiers(),
disposalMethodBean,
specializedBean);
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java 2009-09-21 21:45:58 UTC (rev 3716)
@@ -119,7 +119,7 @@
{
types.add(businessInterfaceDescriptor.getInterface());
}
- super.types = types;
+ setTypes(types);
}
void initProxyClass()
@@ -312,14 +312,14 @@
{
SessionBean<T> bean = SessionBean.of(getEjbDescriptor(),
getManager(),
- name,
- types,
+ getName(),
+ getTypes(),
getMergedStereotypes(),
getScope(),
getDecorators(),
isAlternative(),
isProxyable(),
- bindings,
+ getQualifiers(),
getSuperclasses(),
getProxyClassForDecorators(),
getPostConstruct(),
14 years, 8 months
[webbeans-commits] Webbeans SVN: r3715 - in ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans: bean/builder and 4 other directories.
by webbeans-commits@lists.jboss.org
Author: kabir.khan(a)jboss.com
Date: 2009-09-21 17:13:38 -0400 (Mon, 21 Sep 2009)
New Revision: 3715
Added:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingDecorator.java
Removed:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingDecorator.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingDecorator.java
Modified:
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/RIBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractProducerBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/RIBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builtin/AbstractBuiltInBean.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java
ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/Reflections.java
Log:
TCK 100%
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -18,6 +18,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
@@ -25,18 +26,14 @@
import javax.enterprise.context.Dependent;
import javax.enterprise.inject.Specializes;
import javax.enterprise.inject.spi.Bean;
-import javax.inject.Named;
import javax.inject.Qualifier;
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.introspector.WBAnnotated;
import org.jboss.webbeans.introspector.WBField;
import org.jboss.webbeans.introspector.WBParameter;
-import org.jboss.webbeans.literal.AnyLiteral;
-import org.jboss.webbeans.literal.DefaultLiteral;
import org.jboss.webbeans.log.Log;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
@@ -47,16 +44,13 @@
* An abstract bean representation common for all beans
*
* @author Pete Muir
- *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ *
* @param <T> the type of bean
* @param <E> the Class<?> of the bean type
*/
public abstract class AbstractBean<T, E> extends RIBean<T>
{
-
-// private static final Annotation ANY_LITERAL = new AnyLiteral();
-// private static final Annotation CURRENT_LITERAL = new DefaultLiteral();
-//
private final boolean proxyable;
// Logger
@@ -141,12 +135,16 @@
* Initializes the bean and its metadata
*/
@Override
- public void initialize(BeanDeployerEnvironment environment)
+ public void initialize()
{
- checkDelegateInjectionPoints();
+ if (!initialized)
+ {
+ checkDelegateInjectionPoints();
+ initialized = true;
+ }
}
- protected void checkDelegateInjectionPoints()
+ public void checkDelegateInjectionPoints()
{
if (this.delegateInjectionPoints.size() > 0)
{
@@ -173,7 +171,7 @@
protected Set<WBInjectionPoint<?, ?>> getDelegateInjectionPoints()
{
- return delegateInjectionPoints;
+ return Collections.unmodifiableSet(delegateInjectionPoints);
}
private boolean checkInjectionPointsAreSerializable()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -47,8 +47,8 @@
* An abstract bean representation common for class-based beans
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
- * @param <T>
* @param <E>
*/
public abstract class AbstractClassBean<T> extends AbstractBean<T, Class<T>> implements InjectionTarget<T>
@@ -88,13 +88,13 @@
Set<Type> types,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean serializable,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy)
{
@@ -113,13 +113,13 @@
};
this.dependencies = dependencies;
this.proxyClassForDecorators = proxyClassForDecorators;
- this.decorators = decorators;
this.postConstruct = postConstruct;
this.preDestroy = preDestroy;
this.injectableFields = initInjectableFields();
this.initializerMethods = initInitializerMethods();
checkBeanImplementation();
+ this.decorators = decorators;
checkType();
}
@@ -133,6 +133,11 @@
return this.decorators != null && this.decorators.size() > 0;
}
+ protected List<Decorator<?>> initDecorators()
+ {
+ return getManager().resolveDecorators(getTypes(), getQualifiers());
+ }
+
protected T applyDecorators(T instance, CreationalContext<T> creationalContext, InjectionPoint originalInjectionPoint)
{
List<SerializableBeanInstance<DecoratorImpl<Object>, Object>> decoratorInstances = new ArrayList<SerializableBeanInstance<DecoratorImpl<Object>,Object>>();
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractProducerBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -36,7 +36,6 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.introspector.WBMember;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
@@ -50,6 +49,7 @@
* The implicit producer bean
*
* @author Gavin King
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T>
* @param <S>
@@ -88,48 +88,6 @@
return getDeclaringBean().getBeanClass();
}
-// /**
-// * Initializes the API types
-// */
-// @Override
-// protected void initTypes()
-// {
-// if (getType().isArray() || getType().isPrimitive())
-// {
-// Set<Type> types = new HashSet<Type>();
-// types = new HashSet<Type>();
-// types.add(getType());
-// types.add(Object.class);
-// super.types = types;
-// }
-// else if (getType().isInterface())
-// {
-// Set<Type> types = new HashSet<Type>();
-// types.add(Object.class);
-// types.addAll(getAnnotatedItem().getTypeClosure());
-// super.types = types;
-// }
-// else
-// {
-// super.initTypes();
-// }
-// }
-
-// /**
-// * Initializes the type
-// */
-// protected void initType()
-// {
-// try
-// {
-// this.type = getAnnotatedItem().getJavaClass();
-// }
-// catch (ClassCastException e)
-// {
-// throw new RuntimeException(" Cannot cast producer type " + getAnnotatedItem().getJavaClass() + " to bean type " + (getDeclaredBeanType() == null ? " unknown " : getDeclaredBeanType()), e);
-// }
-// }
-
/**
* Gets the declared bean type
*
@@ -175,11 +133,13 @@
* Initializes the bean and its metadata
*/
@Override
- public void initialize(BeanDeployerEnvironment environment)
+ public void initialize()
{
- getDeclaringBean().initialize(environment);
- super.initialize(environment);
- checkProducerReturnType();
+ if (!isInitialized())
+ {
+ super.initialize();
+ checkProducerReturnType();
+ }
}
/**
@@ -234,38 +194,6 @@
}
}
-// @Override
-// protected void initScopeType()
-// {
-// Set<Annotation> scopeAnnotations = new HashSet<Annotation>();
-// scopeAnnotations.addAll(getAnnotatedItem().getMetaAnnotations(Scope.class));
-// scopeAnnotations.addAll(getAnnotatedItem().getMetaAnnotations(NormalScope.class));
-// if (scopeAnnotations.size() > 1)
-// {
-// throw new DefinitionException("At most one scope may be specified");
-// }
-// if (scopeAnnotations.size() == 1)
-// {
-// this.scopeType = scopeAnnotations.iterator().next().annotationType();
-// log.trace("Scope " + scopeType + " specified by annotation");
-// return;
-// }
-//
-// initScopeTypeFromStereotype();
-//
-// if (this.scopeType == null)
-// {
-// this.scopeType = Dependent.class;
-// log.trace("Using default @Dependent scope");
-// }
-// }
-//
-// @Override
-// protected void initSerializable()
-// {
-// // No-op
-// }
-
@Override
public boolean isSerializable()
{
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/AbstractReceiverBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -22,10 +22,8 @@
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.Alternative;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.context.WBCreationalContext;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
@@ -33,6 +31,7 @@
/**
* @author pmuir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
*/
public abstract class AbstractReceiverBean<T, S extends Member> extends AbstractBean<T, S>
@@ -60,12 +59,6 @@
this.declaringBean = declaringBean;
}
- @Override
- public void initialize(BeanDeployerEnvironment environment)
- {
- super.initialize(environment);
- }
-
/**
* Gets the receiver of the product
*
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DecoratorImpl.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -22,6 +22,7 @@
import java.lang.reflect.Type;
import java.util.Arrays;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import javax.enterprise.inject.spi.Decorator;
@@ -29,42 +30,27 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
+/**
+ *
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
public class DecoratorImpl<T> extends ManagedBean<T> implements Decorator<T>
{
- public static <T> Decorator<T> wrapForResolver(final Decorator<T> decorator)
- {
- return new ForwardingDecorator<T>()
- {
+ private WBInjectionPoint<?, ?> delegateInjectionPoint;
+ private final Set<Annotation> delegateBindings = new HashSet<Annotation>();
+ private Type delegateType;
+ private Set<Type> delegateTypes;
+ private Set<Type> decoratedTypes;
- @Override
- public Set<Annotation> getQualifiers()
- {
- return delegate().getDelegateQualifiers();
- }
-
- @Override
- public Set<Type> getTypes()
- {
- return delegate().getTypes();
- }
-
- @Override
- protected Decorator<T> delegate()
- {
- return decorator;
- }
-
- };
- }
-
/**
* Creates a decorator bean
*
@@ -78,6 +64,7 @@
String name,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
@@ -86,21 +73,16 @@
WBMethod<?, ?> preDestroy,
ManagedBean<?> specializedBean)
{
- return new DecoratorImpl<T>(clazz, manager, name, mergedStereotypes, scopeType, policy, proxyable, bindings, dependencies,
+ return new DecoratorImpl<T>(clazz, manager, name, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
postConstruct, preDestroy, specializedBean);
}
- private WBInjectionPoint<?, ?> delegateInjectionPoint;
- private Set<Annotation> delegateBindings;
- private Type delegateType;
- private Set<Type> delegateTypes;
- private Set<Type> decoratedTypes;
-
protected DecoratorImpl(WBClass<T> type,
BeanManagerImpl manager,
String name,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
@@ -109,22 +91,15 @@
WBMethod<?, ?> preDestroy,
ManagedBean<?> specializedBean)
{
- super(type, manager, name, mergedStereotypes, scopeType, policy, proxyable, bindings, dependencies, null, null,
+ super(type, manager, name, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies, null,
postConstruct, preDestroy, specializedBean);
- }
- @Override
- public void initialize(BeanDeployerEnvironment environment)
- {
- if (!isInitialized())
- {
- super.initialize(environment);
- initDelegateInjectionPoint();
- initDecoratedTypes();
- initDelegateBindings();
- initDelegateType();
- checkDelegateType();
- }
+ checkDelegateInjectionPoints();
+ initDelegateInjectionPoint();
+ initDecoratedTypes();
+ initDelegateBindings();
+ initDelegateType();
+ checkDelegateType();
}
protected void initDecoratedTypes()
@@ -140,7 +115,7 @@
}
@Override
- protected void checkDelegateInjectionPoints()
+ public void checkDelegateInjectionPoints()
{
for (WBInjectionPoint<?, ?> injectionPoint : getDelegateInjectionPoints())
{
@@ -161,7 +136,6 @@
protected void initDelegateBindings()
{
- this.delegateBindings = new HashSet<Annotation>();
this.delegateBindings.addAll(this.delegateInjectionPoint.getQualifiers());
}
@@ -245,4 +219,8 @@
return super.toString("decorator");
}
+ protected boolean initInjectionPointsAreSerializable()
+ {
+ return false;
+ }
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethod.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -20,7 +20,6 @@
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import java.util.Collections;
-import java.util.HashSet;
import java.util.Set;
import javax.enterprise.context.spi.CreationalContext;
@@ -31,12 +30,16 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
import org.jboss.webbeans.util.Reflections;
+/**
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
public class DisposalMethod<T> extends AbstractReceiverBean<T, Method>
{
@@ -57,19 +60,10 @@
super(declaringBean, manager, name, type, types, mergedStereotypes, null, policy, Reflections.isSerializable(type), proxyable, bindings);
this.disposalMethodInjectionPoint = MethodInjectionPoint.of(this, disposalMethod);
this.id = createId("DisposalMethod-" + declaringBean.getName() + "-" + disposalMethod.getSignature().toString());
-// initBindings();
-// initType();
-// initTypes();
- }
-
- @Override
- public void initialize(BeanDeployerEnvironment environment)
- {
addInjectionPoint(disposalMethodInjectionPoint);
- super.initialize(environment);
checkDisposalMethod();
}
-
+
@Override
public WBMethod<T, ?> getAnnotatedItem()
{
@@ -104,12 +98,6 @@
}
@Override
- public Set<Type> getTypes()
- {
- return types;
- }
-
- @Override
public String toString()
{
return disposalMethodInjectionPoint.toString();
Deleted: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -1,172 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.bean;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Set;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-/**
- * A delegating bean
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public abstract class ForwardingBean<T> implements Bean<T>
-{
-
- /**
- * Creates an instance of the delegate
- *
- * @return an instance of the delegate
- */
- public T create(CreationalContext<T> creationalContext)
- {
- return delegate().create(creationalContext);
- }
-
- /**
- * Abstract getter for the delegate
- *
- * @return The delegate
- */
- protected abstract Bean<T> delegate();
-
- /**
- * Destroys an instance through the delegate
- *
- * @param instance The instance to destroy
- */
- public void destroy(T instance, CreationalContext<T> creationalContext)
- {
- delegate().destroy(instance, creationalContext);
- }
-
- /**
- * Compares an object with the delegate
- *
- * @return True if equals, false otherwise
- */
- @Override
- public boolean equals(Object obj)
- {
- return delegate().equals(obj);
- }
-
- public Class<?> getBeanClass()
- {
- return delegate().getBeanClass();
- }
-
- /**
- * Gets the binding types of the delegate
- *
- * @return The binding types
- */
- public Set<Annotation> getQualifiers()
- {
- return delegate().getQualifiers();
- }
-
- public Set<InjectionPoint> getInjectionPoints()
- {
- return delegate().getInjectionPoints();
- }
-
- /**
- * Gets the name of the delegate
- *
- * @return The name
- */
- public String getName()
- {
- return delegate().getName();
- }
-
- /**
- * The stereotypes applied to this bean
- *
- * @return stereotypes if any
- */
- public Set<Class<? extends Annotation>> getStereotypes()
- {
- return delegate().getStereotypes();
- }
-
- /**
- * Gets the scope type of the delegate
- *
- * @return The scope type
- */
- public Class<? extends Annotation> getScope()
- {
- return delegate().getScope();
- }
-
- /**
- * Gets the API types of the delegate
- *
- * @return The API types
- */
- public Set<Type> getTypes()
- {
- return delegate().getTypes();
- }
-
- /**
- * Gets the hash code of the delegate
- *
- * @return The hash code
- */
- @Override
- public int hashCode()
- {
- return delegate().hashCode();
- }
-
- /**
- * Indicates if the delegate is nullable
- *
- * @return True if nullable, false otherwise
- */
- public boolean isNullable()
- {
- return delegate().isNullable();
- }
-
- public boolean isAlternative()
- {
- return delegate().isAlternative();
- }
-
- /**
- * Returns a string representation
- *
- * @return The string representation
- */
- @Override
- public String toString()
- {
- return "ForwardingBean " + getName() + " for " + delegate().toString();
- }
-
-}
Copied: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingBean.java (from rev 3713, ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingBean.java)
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingBean.java (rev 0)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -0,0 +1,173 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.bean;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Set;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.InjectionPoint;
+
+/**
+ * A delegating bean
+ *
+ * @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ *
+ * @param <T>
+ */
+public abstract class ForwardingBean<T> implements Bean<T>
+{
+
+ /**
+ * Creates an instance of the delegate
+ *
+ * @return an instance of the delegate
+ */
+ public T create(CreationalContext<T> creationalContext)
+ {
+ return delegate().create(creationalContext);
+ }
+
+ /**
+ * Abstract getter for the delegate
+ *
+ * @return The delegate
+ */
+ protected abstract Bean<T> delegate();
+
+ /**
+ * Destroys an instance through the delegate
+ *
+ * @param instance The instance to destroy
+ */
+ public void destroy(T instance, CreationalContext<T> creationalContext)
+ {
+ delegate().destroy(instance, creationalContext);
+ }
+
+ /**
+ * Compares an object with the delegate
+ *
+ * @return True if equals, false otherwise
+ */
+ @Override
+ public boolean equals(Object obj)
+ {
+ return delegate().equals(obj);
+ }
+
+ public Class<?> getBeanClass()
+ {
+ return delegate().getBeanClass();
+ }
+
+ /**
+ * Gets the binding types of the delegate
+ *
+ * @return The binding types
+ */
+ public Set<Annotation> getQualifiers()
+ {
+ return delegate().getQualifiers();
+ }
+
+ public Set<InjectionPoint> getInjectionPoints()
+ {
+ return delegate().getInjectionPoints();
+ }
+
+ /**
+ * Gets the name of the delegate
+ *
+ * @return The name
+ */
+ public String getName()
+ {
+ return delegate().getName();
+ }
+
+ /**
+ * The stereotypes applied to this bean
+ *
+ * @return stereotypes if any
+ */
+ public Set<Class<? extends Annotation>> getStereotypes()
+ {
+ return delegate().getStereotypes();
+ }
+
+ /**
+ * Gets the scope type of the delegate
+ *
+ * @return The scope type
+ */
+ public Class<? extends Annotation> getScope()
+ {
+ return delegate().getScope();
+ }
+
+ /**
+ * Gets the API types of the delegate
+ *
+ * @return The API types
+ */
+ public Set<Type> getTypes()
+ {
+ return delegate().getTypes();
+ }
+
+ /**
+ * Gets the hash code of the delegate
+ *
+ * @return The hash code
+ */
+ @Override
+ public int hashCode()
+ {
+ return delegate().hashCode();
+ }
+
+ /**
+ * Indicates if the delegate is nullable
+ *
+ * @return True if nullable, false otherwise
+ */
+ public boolean isNullable()
+ {
+ return delegate().isNullable();
+ }
+
+ public boolean isAlternative()
+ {
+ return delegate().isAlternative();
+ }
+
+ /**
+ * Returns a string representation
+ *
+ * @return The string representation
+ */
+ @Override
+ public String toString()
+ {
+ return "ForwardingBean " + getName() + " for " + delegate().toString();
+ }
+
+}
Deleted: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingDecorator.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingDecorator.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingDecorator.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.bean;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Set;
-
-import javax.enterprise.inject.spi.Decorator;
-
-public abstract class ForwardingDecorator<T> extends ForwardingBean<T> implements Decorator<T>
-{
-
- @Override
- protected abstract Decorator<T> delegate();
-
- public Set<Type> getDecoratedTypes()
- {
- return delegate().getDecoratedTypes();
- }
-
- public Set<Annotation> getDelegateQualifiers()
- {
- return delegate().getDelegateQualifiers();
- }
-
- public Type getDelegateType()
- {
- return delegate().getDelegateType();
- }
-
-}
Added: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingDecorator.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingDecorator.java (rev 0)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ForwardingDecorator.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -0,0 +1,47 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.webbeans.bean;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Type;
+import java.util.Set;
+
+import javax.enterprise.inject.spi.Decorator;
+
+
+public abstract class ForwardingDecorator<T> extends ForwardingBean<T> implements Decorator<T>
+{
+
+ @Override
+ protected abstract Decorator<T> delegate();
+
+ public Set<Type> getDecoratedTypes()
+ {
+ return delegate().getDecoratedTypes();
+ }
+
+ public Set<Annotation> getDelegateQualifiers()
+ {
+ return delegate().getDelegateQualifiers();
+ }
+
+ public Type getDelegateType()
+ {
+ return delegate().getDelegateType();
+ }
+
+}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ManagedBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -28,7 +28,6 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.ConstructorInjectionPoint;
import org.jboss.webbeans.injection.InjectionContextImpl;
import org.jboss.webbeans.injection.WBInjectionPoint;
@@ -48,6 +47,7 @@
* Represents a simple bean
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T> The type (class) of the bean
*/
@@ -80,18 +80,18 @@
String name,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy,
ManagedBean<?> specializedBean)
{
- return new ManagedBean<T>(clazz, manager, name, mergedStereotypes, scopeType, policy, proxyable, bindings, dependencies,
- proxyClassForDecorators, decorators, postConstruct, preDestroy, specializedBean);
+ return new ManagedBean<T>(clazz, manager, name, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
+ proxyClassForDecorators, postConstruct, preDestroy, specializedBean);
}
/**
@@ -105,18 +105,18 @@
String name,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy,
ManagedBean<?> specializedBean)
{
- super(type, manager, name, type.getTypeClosure(), mergedStereotypes, scopeType, policy, Reflections.isSerializable(type.getJavaClass()), proxyable, bindings, dependencies,
- proxyClassForDecorators, decorators, postConstruct, preDestroy);
+ super(type, manager, name, type.getTypeClosure(), mergedStereotypes, scopeType, decorators, policy, Reflections.isSerializable(type.getJavaClass()), proxyable, bindings, dependencies,
+ proxyClassForDecorators, postConstruct, preDestroy);
this.specializedBean = specializedBean;
this.constructor = initConstructor();
this.ejbInjectionPoints = Beans.getEjbInjectionPoints(this, getAnnotatedItem(), getManager());
@@ -213,21 +213,6 @@
}
/**
- * Initializes the bean and its metadata
- */
- @Override
- public void initialize(BeanDeployerEnvironment environment)
- {
- if (!isInitialized())
- {
- super.initialize(environment);
-// initPostConstruct();
-// initPreDestroy();
- }
- }
-
-
- /**
* Validates the type
*/
protected void checkType()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewManagedBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -34,6 +34,7 @@
* Represents a @New simple bean
*
* @author Nicklas Karlsson
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*/
public class NewManagedBean<T> extends ManagedBean<T> implements NewBean
{
@@ -50,18 +51,18 @@
String name,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy,
ManagedBean<?> specializedBean)
{
- return new NewManagedBean<T>(clazz, manager, name, mergedStereotypes, scopeType, policy, proxyable, bindings, dependencies,
- proxyClassForDecorators, decorators, postConstruct, preDestroy, specializedBean);
+ return new NewManagedBean<T>(clazz, manager, name, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
+ proxyClassForDecorators, postConstruct, preDestroy, specializedBean);
}
private Set<Annotation> bindings;
@@ -77,18 +78,18 @@
String name,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy,
ManagedBean<?> specializedBean)
{
- super(type, manager, name, mergedStereotypes, scopeType, policy, proxyable, bindings, dependencies,
- proxyClassForDecorators, decorators, postConstruct, preDestroy, specializedBean);
+ super(type, manager, name, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
+ proxyClassForDecorators, postConstruct, preDestroy, specializedBean);
this.bindings = new HashSet<Annotation>();
this.bindings.add(new NewLiteral()
{
@@ -129,18 +130,7 @@
return null;
}
- /**
- * Gets the bindings
- *
- * @returns @New
- */
@Override
- public Set<Annotation> getQualifiers()
- {
- return bindings;
- }
-
- @Override
public boolean isSpecializing()
{
return false;
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/NewSessionBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -37,6 +37,7 @@
* Represents a @New enterprise bean
*
* @author Nicklas Karlsson
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*/
public class NewSessionBean<T> extends SessionBean<T> implements NewBean
{
@@ -54,20 +55,20 @@
Set<Type> types,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy,
Class<T> proxyClass,
SessionBean<?> specializedBean)
{
WBClass<T> type = manager.getServices().get(ClassTransformer.class).loadClass(ejbDescriptor.getBeanClass());
- return new NewSessionBean<T>(type, ejbDescriptor, manager, name, types, mergedStereotypes, scopeType, policy, proxyable, bindings, dependencies,
- proxyClassForDecorators, decorators, postConstruct, preDestroy, proxyClass, specializedBean);
+ return new NewSessionBean<T>(type, ejbDescriptor, manager, name, types, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
+ proxyClassForDecorators, postConstruct, preDestroy, proxyClass, specializedBean);
}
private Set<Annotation> bindings;
@@ -85,19 +86,19 @@
Set<Type> types,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy,
Class<T> proxyClass,
SessionBean<?> specializedBean)
{
- super(type, ejbDescriptor, manager, name, types, mergedStereotypes, scopeType, policy, proxyable, bindings, dependencies,
- proxyClassForDecorators, decorators, postConstruct, preDestroy, proxyClass, specializedBean);
+ super(type, ejbDescriptor, manager, name, types, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
+ proxyClassForDecorators, postConstruct, preDestroy, proxyClass, specializedBean);
this.bindings = new HashSet<Annotation>();
this.bindings.add(new NewLiteral()
{
@@ -137,17 +138,6 @@
{
return null;
}
-
- /**
- * Gets the bindings
- *
- * @returns @New
- */
- @Override
- public Set<Annotation> getQualifiers()
- {
- return bindings;
- }
@Override
public boolean isSpecializing()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerField.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -25,7 +25,6 @@
import javax.enterprise.context.spi.CreationalContext;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.introspector.WBField;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
import org.jboss.webbeans.util.Names;
@@ -34,6 +33,7 @@
* Represents a producer field
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T>
*/
@@ -87,23 +87,9 @@
{
super(declaringBean, manager, name, type, types, mergedStereotypes, scopeType, policy, proxyable, bindings);
this.field = field;
-// initType();
-// initTypes();
-// initBindings();
this.id = createId("ProducerField-" + declaringBean.getType().getName() + "-"+ field.getName());
-// initStereotypes();
-// initPolicy();
}
- @Override
- public void initialize(BeanDeployerEnvironment environment)
- {
- if (!isInitialized())
- {
- super.initialize(environment);
- }
- }
-
public void destroy(T instance, CreationalContext<T> creationalContext)
{
dispose(instance);
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ProducerMethod.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -29,7 +29,6 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.MethodInjectionPoint;
import org.jboss.webbeans.injection.ParameterInjectionPoint;
import org.jboss.webbeans.introspector.WBMethod;
@@ -99,6 +98,8 @@
this.disposalMethodBean = disposalMethodBean;
this.specializedBean = specializedBean;
this.id = createId("ProducerMethod-" + declaringBean.getType().getName() + "-" + method.getSignature().toString());
+ initProducerMethodInjectableParameters();
+ checkProducerMethod();
}
public T produce(CreationalContext<T> creationalContext)
@@ -115,20 +116,6 @@
}
/**
- * Initializes the bean and its metadata
- */
- @Override
- public void initialize(BeanDeployerEnvironment environment)
- {
- if (!isInitialized())
- {
- initProducerMethodInjectableParameters();
- super.initialize(environment);
- checkProducerMethod();
- }
- }
-
- /**
* Initializes the injection points
*/
protected void initProducerMethodInjectableParameters()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/RIBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/RIBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -26,7 +26,6 @@
import javax.enterprise.inject.spi.InjectionPoint;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.WBInjectionPoint;
/**
@@ -65,7 +64,7 @@
return getType();
}
- public abstract void initialize(BeanDeployerEnvironment environment);
+ public abstract void initialize();
public abstract boolean isSpecializing();
@@ -80,6 +79,7 @@
public abstract Set<WBInjectionPoint<?, ?>> getAnnotatedInjectionPoints();
+ @SuppressWarnings("unchecked")
public Set<InjectionPoint> getInjectionPoints()
{
return (Set) getAnnotatedInjectionPoints();
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/SessionBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -38,7 +38,6 @@
import org.jboss.webbeans.bean.proxy.EnterpriseBeanInstance;
import org.jboss.webbeans.bean.proxy.EnterpriseBeanProxyMethodHandler;
import org.jboss.webbeans.bean.proxy.Marker;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.ejb.InternalEjbDescriptor;
import org.jboss.webbeans.ejb.api.SessionObjectReference;
import org.jboss.webbeans.ejb.spi.EjbServices;
@@ -55,6 +54,7 @@
* An enterprise bean representation
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T> The type (class) of the bean
*/
@@ -83,20 +83,20 @@
Set<Type> types,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<javax.enterprise.inject.spi.Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<javax.enterprise.inject.spi.Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy,
Class<T> proxyClass,
SessionBean<?> specializedBean)
{
WBClass<T> type = manager.getServices().get(ClassTransformer.class).loadClass(ejbDescriptor.getBeanClass());
- return new SessionBean<T>(type, ejbDescriptor, manager, name, types, mergedStereotypes, scopeType, policy, proxyable, bindings, dependencies,
- proxyClassForDecorators, decorators, postConstruct, preDestroy, proxyClass, specializedBean);
+ return new SessionBean<T>(type, ejbDescriptor, manager, name, types, mergedStereotypes, scopeType, decorators, policy, proxyable, bindings, dependencies,
+ proxyClassForDecorators, postConstruct, preDestroy, proxyClass, specializedBean);
}
/**
@@ -112,53 +112,29 @@
Set<Type> types,
MergedStereotypes<T, Class<T>> mergedStereotypes,
Class<? extends Annotation> scopeType,
+ List<javax.enterprise.inject.spi.Decorator<?>> decorators,
boolean policy,
boolean proxyable,
Set<Annotation> bindings,
Set<String> dependencies,
Class<T> proxyClassForDecorators,
- List<javax.enterprise.inject.spi.Decorator<?>> decorators,
WBMethod<?, ?> postConstruct,
WBMethod<?, ?> preDestroy,
Class<T> proxyClass,
SessionBean<?> specializedBean)
{
- super(type, manager, name, types, mergedStereotypes, scopeType, policy, false, proxyable, bindings, dependencies,
- proxyClassForDecorators, decorators, postConstruct, preDestroy);
+ super(type, manager, name, types, mergedStereotypes, scopeType, decorators, policy, false, proxyable, bindings, dependencies,
+ proxyClassForDecorators, postConstruct, preDestroy);
this.ejbDescriptor = ejbDescriptor;
this.proxyClass = proxyClass;
this.specializedBean = specializedBean;
- }
- /**
- * Initializes the bean and its metadata
- */
- @Override
- public void initialize(BeanDeployerEnvironment environment)
- {
- if (!isInitialized())
- {
- super.initialize(environment);
-// initProxyClass();
- checkEJBTypeAllowed();
- checkConflictingRoles();
- checkObserverMethods();
- checkScopeAllowed();
- }
+ checkEJBTypeAllowed();
+ checkConflictingRoles();
+ checkObserverMethods();
+ checkScopeAllowed();
}
-// protected void initProxyClass()
-// {
-// Set<Type> types = new LinkedHashSet<Type>(getTypes());
-// types.add(EnterpriseBeanInstance.class);
-// types.add(Serializable.class);
-// ProxyFactory proxyFactory = Proxies.getProxyFactory(types);
-//
-// @SuppressWarnings("unchecked")
-// Class<T> proxyClass = proxyFactory.createClass();
-//
-// this.proxyClass = proxyClass;
-// }
/**
* Validates for non-conflicting roles
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -21,8 +21,6 @@
import java.util.HashSet;
import java.util.Set;
-import javax.decorator.Decorates;
-import javax.enterprise.context.Dependent;
import javax.enterprise.inject.Alternative;
import javax.enterprise.inject.Specializes;
import javax.enterprise.inject.spi.Bean;
@@ -34,22 +32,19 @@
import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.introspector.WBAnnotated;
-import org.jboss.webbeans.introspector.WBField;
-import org.jboss.webbeans.introspector.WBParameter;
import org.jboss.webbeans.literal.AnyLiteral;
import org.jboss.webbeans.literal.DefaultLiteral;
import org.jboss.webbeans.log.Log;
import org.jboss.webbeans.log.Logging;
import org.jboss.webbeans.metadata.cache.MergedStereotypes;
-import org.jboss.webbeans.metadata.cache.MetaAnnotationStore;
import org.jboss.webbeans.util.Reflections;
/**
- * An abstract bean representation common for all beans
+ * Builder for An abstract bean representation common for all beans
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T> the type of bean
* @param <E> the Class<?> of the bean type
@@ -64,25 +59,31 @@
// Logger
private final Log log = Logging.getLog(AbstractBeanBuilder.class);
+
// The binding types
protected Set<Annotation> bindings;
+
// The name
protected String name;
+
// The scope type
protected Class<? extends Annotation> scopeType;
+
// The merged stereotypes
private MergedStereotypes<T, E> mergedStereotypes;
+
// Is it a policy, either defined by stereotypes or directly?
private boolean policy;
+
// The type
protected Class<T> type;
+
// The API types
protected Set<Type> types;
- // The injection points
- private Set<WBInjectionPoint<?, ?>> injectionPoints;
- private Set<WBInjectionPoint<?, ?>> delegateInjectionPoints;
+
// If the type a primitive?
private boolean primitive;
+
// The Web Beans manager
protected BeanManagerImpl manager;
@@ -106,8 +107,6 @@
{
super(manager);
this.manager = manager;
- this.injectionPoints = new HashSet<WBInjectionPoint<?, ?>>();
- this.delegateInjectionPoints = new HashSet<WBInjectionPoint<?,?>>();
}
/**
@@ -129,7 +128,6 @@
initScopeType();
initSerializable();
initProxyable();
- checkDelegateInjectionPoints();
}
void initStereotypes()
@@ -137,36 +135,6 @@
mergedStereotypes = new MergedStereotypes<T, E>(getAnnotatedItem().getMetaAnnotations(Stereotype.class), manager);
}
- void checkDelegateInjectionPoints()
- {
- if (this.delegateInjectionPoints.size() > 0)
- {
- throw new DefinitionException("Cannot place @Decorates at an injection point which is not on a Decorator " + this);
- }
- }
-
- void addInjectionPoint(WBInjectionPoint<?, ?> injectionPoint)
- {
- if (injectionPoint.isAnnotationPresent(Decorates.class))
- {
- this.delegateInjectionPoints.add(injectionPoint);
- }
- injectionPoints.add(injectionPoint);
- }
-
- void addInjectionPoints(Iterable<? extends WBInjectionPoint<?, ?>> injectionPoints)
- {
- for (WBInjectionPoint<?, ?> injectionPoint : injectionPoints)
- {
- addInjectionPoint(injectionPoint);
- }
- }
-
- Set<WBInjectionPoint<?, ?>> getDelegateInjectionPoints()
- {
- return delegateInjectionPoints;
- }
-
/**
* Initializes the API types
*/
@@ -251,24 +219,6 @@
this.primitive = Reflections.isPrimitive(getType());
}
- boolean checkInjectionPointsAreSerializable()
- {
- boolean passivating = manager.getServices().get(MetaAnnotationStore.class).getScopeModel(this.getScope()).isPassivating();
- for (WBInjectionPoint<?, ?> injectionPoint : getAnnotatedInjectionPoints())
- {
- Annotation[] bindings = injectionPoint.getMetaAnnotationsAsArray(Qualifier.class);
- Bean<?> resolvedBean = manager.getBeans(injectionPoint.getJavaClass(), bindings).iterator().next();
- if (passivating)
- {
- if (Dependent.class.equals(resolvedBean.getScope()) && !Reflections.isSerializable(resolvedBean.getBeanClass()) && (((injectionPoint instanceof WBField<?, ?>) && !((WBField<?, ?>) injectionPoint).isTransient()) || (injectionPoint instanceof WBParameter<?, ?>)))
- {
- return false;
- }
- }
- }
- return true;
- }
-
/**
* Initializes the scope type
*/
@@ -305,9 +255,6 @@
{
this.name = getSpecializedBean().getName();
}
-
- throw new RuntimeException("Next line commented");
- //manager.getSpecializedBeans().put(getSpecializedBean(), this);
}
void preSpecialize(BeanDeployerEnvironment environment)
@@ -355,12 +302,6 @@
@Override
abstract AbstractBean<?, ?> getSpecializedBean();
- @Override
- Set<WBInjectionPoint<?, ?>> getAnnotatedInjectionPoints()
- {
- return injectionPoints;
- }
-
/**
* Gets the merged stereotypes of the bean
*
@@ -453,13 +394,6 @@
return primitive;
}
- boolean isSerializable()
- {
- // TODO WTF - why are we not caching the serializability of injection
- // points!
- return serializable && checkInjectionPointsAreSerializable();
- }
-
void initSerializable()
{
serializable = Reflections.isSerializable(type);
@@ -486,6 +420,11 @@
{
return policy;
}
+
+ boolean isSerializable()
+ {
+ return serializable;
+ }
@Override
boolean isSpecializing()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractClassBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -18,6 +18,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.LinkedHashSet;
@@ -25,6 +26,7 @@
import java.util.Set;
import javassist.util.proxy.ProxyFactory;
+import javassist.util.proxy.ProxyObject;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.NormalScope;
@@ -36,6 +38,9 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.bean.AbstractBean;
+import org.jboss.webbeans.bean.DecoratorImpl;
+import org.jboss.webbeans.bean.SerializableBeanInstance;
+import org.jboss.webbeans.bean.proxy.DecoratorProxyMethodHandler;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.FieldInjectionPoint;
import org.jboss.webbeans.injection.MethodInjectionPoint;
@@ -48,9 +53,11 @@
import org.jboss.webbeans.util.Strings;
/**
- * An abstract bean representation common for class-based beans
+ * Builder for class-based beans
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T>
* @param <E>
@@ -144,54 +151,53 @@
T applyDecorators(T instance, CreationalContext<T> creationalContext, InjectionPoint originalInjectionPoint)
{
- throw new RuntimeException("NYI");
-// List<SerializableBeanInstance<DecoratorImpl<Object>, Object>> decoratorInstances = new ArrayList<SerializableBeanInstance<DecoratorImpl<Object>,Object>>();
-// InjectionPoint ip = originalInjectionPoint;
-// boolean outside = decoratorStackPosition.get().intValue() == 0;
-// try
-// {
-// int i = decoratorStackPosition.get();
-// while (i < decorators.size())
-// {
-// Decorator<?> decorator = decorators.get(i);
-// if (decorator instanceof DecoratorImpl<?>)
-// {
-// decoratorStackPosition.set(++i);
-//
-// @SuppressWarnings("unchecked")
-// DecoratorImpl<Object> decoratorBean = (DecoratorImpl<Object>) decorator;
-//
-// Object decoratorInstance = getManager().getReference(ip, decorator, creationalContext);
-// decoratorInstances.add(new SerializableBeanInstance<DecoratorImpl<Object>, Object>(decoratorBean, decoratorInstance));
-// ip = decoratorBean.getDelegateInjectionPoint();
-// }
-// else
-// {
-// throw new IllegalStateException("Cannot operate on non container provided decorator " + decorator);
-// }
-// }
-// }
-// finally
-// {
-// if (outside)
-// {
-// decoratorStackPosition.remove();
-// }
-// }
-// try
-// {
-// T proxy = proxyClassForDecorators.newInstance();
-// ((ProxyObject) proxy).setHandler(new DecoratorProxyMethodHandler(decoratorInstances, instance));
-// return proxy;
-// }
-// catch (InstantiationException e)
-// {
-// throw new RuntimeException("Could not instantiate decorator proxy for " + toString(), e);
-// }
-// catch (IllegalAccessException e)
-// {
-// throw new RuntimeException("Could not access bean correctly when creating decorator proxy for " + toString(), e);
-// }
+ List<SerializableBeanInstance<DecoratorImpl<Object>, Object>> decoratorInstances = new ArrayList<SerializableBeanInstance<DecoratorImpl<Object>,Object>>();
+ InjectionPoint ip = originalInjectionPoint;
+ boolean outside = decoratorStackPosition.get().intValue() == 0;
+ try
+ {
+ int i = decoratorStackPosition.get();
+ while (i < decorators.size())
+ {
+ Decorator<?> decorator = decorators.get(i);
+ if (decorator instanceof DecoratorImpl<?>)
+ {
+ decoratorStackPosition.set(++i);
+
+ @SuppressWarnings("unchecked")
+ DecoratorImpl<Object> decoratorBean = (DecoratorImpl<Object>) decorator;
+
+ Object decoratorInstance = getManager().getReference(ip, decorator, creationalContext);
+ decoratorInstances.add(new SerializableBeanInstance<DecoratorImpl<Object>, Object>(decoratorBean, decoratorInstance));
+ ip = decoratorBean.getDelegateInjectionPoint();
+ }
+ else
+ {
+ throw new IllegalStateException("Cannot operate on non container provided decorator " + decorator);
+ }
+ }
+ }
+ finally
+ {
+ if (outside)
+ {
+ decoratorStackPosition.remove();
+ }
+ }
+ try
+ {
+ T proxy = proxyClassForDecorators.newInstance();
+ ((ProxyObject) proxy).setHandler(new DecoratorProxyMethodHandler(decoratorInstances, instance));
+ return proxy;
+ }
+ catch (InstantiationException e)
+ {
+ throw new RuntimeException("Could not instantiate decorator proxy for " + toString(), e);
+ }
+ catch (IllegalAccessException e)
+ {
+ throw new RuntimeException("Could not access bean correctly when creating decorator proxy for " + toString(), e);
+ }
}
List<Decorator<?>> getDecorators()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractProducerBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractProducerBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractProducerBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -49,9 +49,10 @@
import org.jboss.webbeans.util.Reflections;
/**
- * The implicit producer bean
+ * Builder for producer beans
*
* @author Gavin King
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T>
* @param <S>
@@ -170,7 +171,7 @@
@Override
void initialize(BeanDeployerEnvironment environment)
{
- getDeclaringBean().initialize(environment);
+ getDeclaringBean().initialize();
super.initialize(environment);
checkProducerReturnType();
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/AbstractReceiverBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -30,6 +30,7 @@
/**
* @author pmuir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
*/
abstract class AbstractReceiverBeanBuilder<T, S extends Member> extends AbstractBeanBuilder<T, S>
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderFactoryImpl.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -39,6 +39,7 @@
import org.jboss.webbeans.ejb.spi.EjbDescriptor;
/**
+ * Factory to create the builders
*
* @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/BeanBuilderImpl.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -178,25 +178,6 @@
private Set<Bean<?>> createSimpleBeans(WBClass<T> clazz)
{
-// beans = new LinkedHashSet<Bean<?>>();
-// ManagedBeanBuilder<T> mainBuilder = ManagedBeanBuilder.of(clazz, beanManager);
-//
-// mainBean = bean;
-//
-// beanDeployerEnvironment.addBean(bean);
-// beans.add(bean);
-//
-// createSubBeans(beans, bean);
-//
-// NewManagedBean<T> newBean = NewManagedBean.of(clazz, beanManager);
-// beanDeployerEnvironment.addBean(newBean);
-// beans.add(newBean);
-// this.newBean = newBean;
-//
-// if (!delayInitialization)
-// newBean.initialize(beanDeployerEnvironment);
-//
-// return beans;
beans = new LinkedHashSet<Bean<?>>();
ManagedBeanBuilder<T> builder = ManagedBeanBuilder.of(clazz, beanManager);
@@ -221,27 +202,6 @@
private Set<Bean<?>> createEnterpriseBeans(InternalEjbDescriptor<T> ejbDescriptor)
{
-// beans = new LinkedHashSet<Bean<?>>();
-// SessionBean<T> bean = SessionBean.of(ejbDescriptor, beanManager);
-// mainBean = bean;
-//
-// beanDeployerEnvironment.addBean(bean);
-// beans.add(bean);
-// if (!delayInitialization)
-// bean.initialize(beanDeployerEnvironment);
-//
-// createSubBeans(beans, bean);
-//
-// NewSessionBean<T> newBean = NewSessionBean.of(ejbDescriptor, beanManager);
-// beanDeployerEnvironment.addBean(newBean);
-// beans.add(newBean);
-// this.newBean = newBean;
-//
-// if (!delayInitialization)
-// newBean.initialize(beanDeployerEnvironment);
-//
-// return beans;
-
beans = new LinkedHashSet<Bean<?>>();
SessionBeanBuilder<T> builder = SessionBeanBuilder.of(ejbDescriptor, beanManager);
@@ -264,15 +224,6 @@
private Bean<T> createDecorator(WBClass<T> annotatedClass)
{
-// DecoratorImpl<T> bean = DecoratorImpl.of(annotatedClass, beanManager);
-// mainBean = bean;
-//
-// beanDeployerEnvironment.addBean(bean);
-// if (!delayInitialization)
-// bean.initialize(beanDeployerEnvironment);
-//
-// return bean;
-
DecoratorBuilder<T> builder = DecoratorBuilder.of(annotatedClass, beanManager);
builder.initialize(beanDeployerEnvironment);
DecoratorImpl<T> bean = builder.createBean();
@@ -319,11 +270,6 @@
{
for (WBMethod<?, ?> method : annotatedClass.getWBDeclaredMethodsWithAnnotatedParameters(Disposes.class))
{
-// DisposalMethod<?> disposalBean = DisposalMethod.of(beanManager, method, declaringBean);
-// beanDeployerEnvironment.addBean(disposalBean);
-// //Do not delay initialization of decorator beans, they get initialized right away in the original impl
-// disposalBean.initialize(beanDeployerEnvironment);
-
DisposalMethodBuilder<?> builder = DisposalMethodBuilder.of(beanManager, method, declaringBean);
//Do not delay initialization of decorator beans, they get initialized right away in the original impl
builder.initialize(beanDeployerEnvironment);
@@ -335,12 +281,6 @@
protected <T> void createProducerMethod(Set<Bean<?>> beans, AbstractClassBean<?> declaringBean, WBMethod<T, ?> annotatedMethod)
{
-// ProducerMethod<T> bean = ProducerMethod.of(annotatedMethod, declaringBean, beanManager);
-// beanDeployerEnvironment.addBean(bean);
-// beans.add(bean);
-// if (!delayInitialization)
-// bean.initialize(beanDeployerEnvironment);
-
ProducerMethodBuilder<T> builder = ProducerMethodBuilder.of(annotatedMethod, declaringBean, beanManager);
builder.initialize(beanDeployerEnvironment);
ProducerMethod<T> bean = builder.createBean();
@@ -358,25 +298,6 @@
protected <T> void createProducerField(Set<Bean<?>> beans, AbstractClassBean<?> declaringBean, WBField<T, ?> field)
{
-// ProducerField<T> bean;
-// if (isPersistenceContextProducerField(field))
-// {
-// bean = PersistenceContextProducerField.of(field, declaringBean, beanManager);
-// }
-// else if (isEEResourceProducerField(field))
-// {
-// bean = EEResourceProducerField.of(field, declaringBean, beanManager);
-// }
-// else
-// {
-// bean = ProducerField.of(field, declaringBean, beanManager);
-// }
-//
-// beanDeployerEnvironment.addBean(bean);
-// beans.add(bean);
-// if (!delayInitialization)
-// bean.initialize(beanDeployerEnvironment);
-
ProducerFieldBuilder<T> builder = ProducerFieldBuilder.of(field, declaringBean, beanManager);
builder.initialize(beanDeployerEnvironment);
ProducerField<T> bean = builder.createBean();
@@ -397,14 +318,6 @@
protected <X, T> ObserverMethodImpl<X, T> createObserverMethod(RIBean<X> declaringBean, WBMethod<T, X> method)
{
-// ObserverMethodImpl<X, T> observer = ObserverFactory.create(method, declaringBean, beanManager);
-// ProcessObserverMethod<?, ?> event = createProcessObserverMethodEvent(observer, method);
-// beanManager.fireEvent(event);
-// beanDeployerEnvironment.addObserver(observer);
-// if (!delayInitialization)
-// observer.initialize();
-// return observer;
-
ObserverMethodImpl<X, T> observer = ObserverFactory.create(method, declaringBean, beanManager);
ProcessObserverMethod<?, ?> event = createProcessObserverMethodEvent(observer, method);
beanManager.fireEvent(event);
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DecoratorBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -18,23 +18,23 @@
import java.io.Serializable;
import java.lang.annotation.Annotation;
-import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import javax.enterprise.inject.spi.Decorator;
-import javax.inject.Inject;
import org.jboss.webbeans.BeanManagerImpl;
-import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.bean.DecoratorImpl;
+import org.jboss.webbeans.bean.ForwardingDecorator;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.injection.MethodInjectionPoint;
-import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.introspector.WBClass;
+/**
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
class DecoratorBuilder<T> extends ManagedBeanBuilder<T>
{
@@ -77,8 +77,6 @@
return new DecoratorBuilder<T>(clazz, manager);
}
- private WBInjectionPoint<?, ?> delegateInjectionPoint;
- private Set<Annotation> delegateBindings;
private Type delegateType;
private Set<Type> delegateTypes;
private Set<Type> decoratedTypes;
@@ -94,11 +92,7 @@
if (!isInitialized())
{
super.initialize(environment);
- initDelegateInjectionPoint();
initDecoratedTypes();
- initDelegateBindings();
- initDelegateType();
- checkDelegateType();
}
}
@@ -109,82 +103,6 @@
this.decoratedTypes.remove(Serializable.class);
}
- void initDelegateInjectionPoint()
- {
- this.delegateInjectionPoint = getDelegateInjectionPoints().iterator().next();
- }
-
- @Override
- void checkDelegateInjectionPoints()
- {
- for (WBInjectionPoint<?, ?> injectionPoint : getDelegateInjectionPoints())
- {
- if (injectionPoint instanceof MethodInjectionPoint<?, ?> && !injectionPoint.isAnnotationPresent(Inject.class))
- {
- throw new DefinitionException("Method with @Decorates parameter must be an initializer method " + injectionPoint);
- }
- }
- if (getDelegateInjectionPoints().size() == 0)
- {
- throw new DefinitionException("No delegate injection points defined " + this);
- }
- else if (getDelegateInjectionPoints().size() > 1)
- {
- throw new DefinitionException("Too many delegate injection point defined " + this);
- }
- }
-
- void initDelegateBindings()
- {
- this.delegateBindings = new HashSet<Annotation>();
- this.delegateBindings.addAll(this.delegateInjectionPoint.getQualifiers());
- }
-
- void initDelegateType()
- {
- this.delegateType = this.delegateInjectionPoint.getBaseType();
- this.delegateTypes = new HashSet<Type>();
- delegateTypes.add(delegateType);
- }
-
- void checkDelegateType()
- {
- for (Type decoratedType : getDecoratedTypes())
- {
- if (decoratedType instanceof Class)
- {
- if (!((Class<?>) decoratedType).isAssignableFrom(delegateInjectionPoint.getJavaClass()))
- {
- throw new DefinitionException("The delegate type must extend or implement every decorated type. Decorated type " + decoratedType + "." + this );
- }
- }
- else if (decoratedType instanceof ParameterizedType)
- {
- ParameterizedType parameterizedType = (ParameterizedType) decoratedType;
- if (!delegateInjectionPoint.isParameterizedType())
- {
- throw new DefinitionException("The decorated type is parameterized, but the delegate type isn't. Delegate type " + delegateType + "." + this);
- }
- if (!Arrays.equals(delegateInjectionPoint.getActualTypeArguments(), parameterizedType.getActualTypeArguments()));
- Type rawType = ((ParameterizedType) decoratedType).getRawType();
- if (rawType instanceof Class && !((Class<?>) rawType).isAssignableFrom(delegateInjectionPoint.getJavaClass()))
- {
- throw new DefinitionException("The delegate type must extend or implement every decorated type. Decorated type " + decoratedType + "." + this );
- }
- else
- {
- throw new IllegalStateException("Unable to process " + decoratedType);
- }
-
- }
- }
- }
-
- Set<Annotation> getDelegateQualifiers()
- {
- return delegateBindings;
- }
-
Type getDelegateType()
{
return delegateType;
@@ -195,11 +113,6 @@
return decoratedTypes;
}
- WBInjectionPoint<?, ?> getDelegateInjectionPoint()
- {
- return delegateInjectionPoint;
- }
-
/**
* The type closure of the delegate type
*
@@ -229,11 +142,12 @@
@Override
DecoratorImpl<T> createBean()
{
- return DecoratorImpl.of(getAnnotatedItem(),
+ DecoratorImpl<T> bean = DecoratorImpl.of(getAnnotatedItem(),
getManager(),
name,
getMergedStereotypes(),
getScope(),
+ null,
isAlternative(),
isProxyable(),
bindings,
@@ -241,5 +155,9 @@
getPostConstruct(),
getPreDestroy(),
getSpecializedBean());
+
+ bean.initialize();
+ registerSpecializedBean(bean);
+ return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/DisposalMethodBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -38,12 +38,16 @@
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.introspector.WBMethod;
+/**
+ *
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
class DisposalMethodBuilder<T> extends AbstractReceiverBeanBuilder<T, Method>
{
protected WBMethod<T, ?> disposalMethod;
- //protected MethodInjectionPoint<T, ?> disposalMethodInjectionPoint;
private final String id;
DisposalMethodBuilder(BeanManagerImpl manager, WBMethod<T, ?> disposalMethod, AbstractClassBean<?> declaringBean)
@@ -88,7 +92,6 @@
{
// At least 1 parameter exists, already checked in constructor
this.bindings = new HashSet<Annotation>();
- //this.bindings.addAll(disposalMethodInjectionPoint.getWBParameters().get(0).getQualifiers());
this.bindings.addAll(disposalMethod.getWBParameters().get(0).getQualifiers());
initDefaultBindings();
}
@@ -101,7 +104,6 @@
{
Set<Type> types = new HashSet<Type>();
types = new HashSet<Type>();
- //types.addAll(disposalMethodInjectionPoint.getAnnotatedParameters(Disposes.class).get(0).getTypeClosure());
types.addAll(disposalMethod.getAnnotatedWBParameters(Disposes.class).get(0).getTypeClosure());
types.add(Object.class);
super.types = types;
@@ -238,7 +240,7 @@
DisposalMethod<T> createBean()
{
- return DisposalMethod.of(manager,
+ DisposalMethod<T> bean = DisposalMethod.of(manager,
name,
disposalMethod,
getDeclaringBean(),
@@ -248,5 +250,9 @@
isAlternative(),
isProxyable(),
bindings);
+
+ bean.initialize();
+ registerSpecializedBean(bean);
+ return bean;
}
}
Deleted: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -1,172 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.bean.builder;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Set;
-
-import javax.enterprise.context.spi.CreationalContext;
-import javax.enterprise.inject.spi.Bean;
-import javax.enterprise.inject.spi.InjectionPoint;
-
-/**
- * A delegating bean
- *
- * @author Pete Muir
- *
- * @param <T>
- */
-public abstract class ForwardingBean<T> implements Bean<T>
-{
-
- /**
- * Creates an instance of the delegate
- *
- * @return an instance of the delegate
- */
- public T create(CreationalContext<T> creationalContext)
- {
- return delegate().create(creationalContext);
- }
-
- /**
- * Abstract getter for the delegate
- *
- * @return The delegate
- */
- protected abstract Bean<T> delegate();
-
- /**
- * Destroys an instance through the delegate
- *
- * @param instance The instance to destroy
- */
- public void destroy(T instance, CreationalContext<T> creationalContext)
- {
- delegate().destroy(instance, creationalContext);
- }
-
- /**
- * Compares an object with the delegate
- *
- * @return True if equals, false otherwise
- */
- @Override
- public boolean equals(Object obj)
- {
- return delegate().equals(obj);
- }
-
- public Class<?> getBeanClass()
- {
- return delegate().getBeanClass();
- }
-
- /**
- * Gets the binding types of the delegate
- *
- * @return The binding types
- */
- public Set<Annotation> getQualifiers()
- {
- return delegate().getQualifiers();
- }
-
- public Set<InjectionPoint> getInjectionPoints()
- {
- return delegate().getInjectionPoints();
- }
-
- /**
- * Gets the name of the delegate
- *
- * @return The name
- */
- public String getName()
- {
- return delegate().getName();
- }
-
- /**
- * The stereotypes applied to this bean
- *
- * @return stereotypes if any
- */
- public Set<Class<? extends Annotation>> getStereotypes()
- {
- return delegate().getStereotypes();
- }
-
- /**
- * Gets the scope type of the delegate
- *
- * @return The scope type
- */
- public Class<? extends Annotation> getScope()
- {
- return delegate().getScope();
- }
-
- /**
- * Gets the API types of the delegate
- *
- * @return The API types
- */
- public Set<Type> getTypes()
- {
- return delegate().getTypes();
- }
-
- /**
- * Gets the hash code of the delegate
- *
- * @return The hash code
- */
- @Override
- public int hashCode()
- {
- return delegate().hashCode();
- }
-
- /**
- * Indicates if the delegate is nullable
- *
- * @return True if nullable, false otherwise
- */
- public boolean isNullable()
- {
- return delegate().isNullable();
- }
-
- public boolean isAlternative()
- {
- return delegate().isAlternative();
- }
-
- /**
- * Returns a string representation
- *
- * @return The string representation
- */
- @Override
- public String toString()
- {
- return "ForwardingBean " + getName() + " for " + delegate().toString();
- }
-
-}
Deleted: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingDecorator.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingDecorator.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ForwardingDecorator.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.jboss.webbeans.bean.builder;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import java.util.Set;
-
-import javax.enterprise.inject.spi.Decorator;
-
-public abstract class ForwardingDecorator<T> extends ForwardingBean<T> implements Decorator<T>
-{
-
- @Override
- protected abstract Decorator<T> delegate();
-
- public Set<Type> getDecoratedTypes()
- {
- return delegate().getDecoratedTypes();
- }
-
- public Set<Annotation> getDelegateQualifiers()
- {
- return delegate().getDelegateQualifiers();
- }
-
- public Type getDelegateType()
- {
- return delegate().getDelegateType();
- }
-
-}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ManagedBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -17,11 +17,11 @@
package org.jboss.webbeans.bean.builder;
import javax.enterprise.inject.spi.Decorator;
-import javax.enterprise.inject.spi.InjectionPoint;
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.DefinitionException;
import org.jboss.webbeans.bean.AbstractClassBean;
+import org.jboss.webbeans.bean.DecoratorImpl;
import org.jboss.webbeans.bean.ManagedBean;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.introspector.WBClass;
@@ -34,9 +34,10 @@
import org.jboss.webbeans.util.Reflections;
/**
- * Represents a simple bean
+ * Builder for simple beans
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T> The type (class) of the bean
*/
@@ -76,21 +77,6 @@
initBindings();
}
- InjectionPoint attachCorrectInjectionPoint()
- {
- Decorator<?> decorator = getDecorators().get(getDecorators().size() - 1);
- if (decorator instanceof DecoratorBuilder<?>)
- {
- DecoratorBuilder<?> decoratorBean = (DecoratorBuilder<?>) decorator;
- InjectionPoint outerDelegateInjectionPoint = decoratorBean.getDelegateInjectionPoint();
- return getManager().replaceOrPushCurrentInjectionPoint(outerDelegateInjectionPoint);
- }
- else
- {
- throw new IllegalStateException("Cannot operate on user defined decorator");
- }
- }
-
/**
* Initializes the bean and its metadata
*/
@@ -131,9 +117,9 @@
}
for (Decorator<?> decorator : getDecorators())
{
- if (decorator instanceof DecoratorBuilder<?>)
+ if (decorator instanceof DecoratorImpl<?>)
{
- DecoratorBuilder<?> decoratorBean = (DecoratorBuilder<?>) decorator;
+ DecoratorImpl<?> decoratorBean = (DecoratorImpl<?>) decorator;
for (WBMethod<?, ?> decoratorMethod : decoratorBean.getAnnotatedItem().getWBMethods())
{
WBMethod<?, ?> method = getAnnotatedItem().getWBMethod(decoratorMethod.getSignature());
@@ -232,20 +218,24 @@
@Override
ManagedBean<T> createBean()
{
- return ManagedBean.of(
+ ManagedBean<T> bean = ManagedBean.of(
getAnnotatedItem(),
getManager(),
name,
getMergedStereotypes(),
getScope(),
+ getDecorators(),
isAlternative(),
isProxyable(),
bindings,
getSuperclasses(),
getProxyClassForDecorators(),
- getDecorators(),
getPostConstruct(),
getPreDestroy(),
getSpecializedBean());
+
+ bean.initialize();
+ registerSpecializedBean(bean);
+ return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewManagedBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -28,9 +28,10 @@
import org.jboss.webbeans.literal.NewLiteral;
/**
- * Represents a @New simple bean
+ * Builder for a @New simple bean
*
* @author Nicklas Karlsson
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*/
class NewManagedBeanBuilder<T> extends ManagedBeanBuilder<T>
{
@@ -118,20 +119,24 @@
@Override
NewManagedBean<T> createBean()
{
- return NewManagedBean.of(
+ NewManagedBean<T> bean = NewManagedBean.of(
getAnnotatedItem(),
getManager(),
name,
getMergedStereotypes(),
getScope(),
+ getDecorators(),
isAlternative(),
isAlternative(),
bindings,
getSuperclasses(),
getProxyClassForDecorators(),
- getDecorators(),
getPostConstruct(),
getPreDestroy(),
getSpecializedBean());
+
+ bean.initialize();
+ registerSpecializedBean(bean);
+ return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/NewSessionBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -30,9 +30,10 @@
import org.jboss.webbeans.resources.ClassTransformer;
/**
- * Represents a @New enterprise bean
+ * Builder for a @New enterprise bean
*
* @author Nicklas Karlsson
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*/
class NewSessionBeanBuilder<T> extends SessionBeanBuilder<T>
{
@@ -127,22 +128,26 @@
@Override
NewSessionBean<T> createBean()
{
- return NewSessionBean.of(getEjbDescriptor(),
+ NewSessionBean<T> bean = NewSessionBean.of(getEjbDescriptor(),
getManager(),
name,
types,
getMergedStereotypes(),
getScope(),
+ getDecorators(),
isAlternative(),
isProxyable(),
bindings,
getSuperclasses(),
getProxyClassForDecorators(),
- getDecorators(),
getPostConstruct(),
getPreDestroy(),
getProxyClass(),
getSpecializedBean());
+
+ bean.initialize();
+ registerSpecializedBean(bean);
+ return bean;
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerFieldBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -35,9 +35,10 @@
import org.jboss.webbeans.ws.WSApiAbstraction;
/**
- * Represents a producer field
+ * Builder for a producer field
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T>
*/
@@ -157,9 +158,10 @@
public ProducerField<T> createBean()
{
+ ProducerField<T> bean = null;
if (isPersistenceContextProducerField(field))
{
- return PersistenceContextProducerField.of(field,
+ bean = PersistenceContextProducerField.of(field,
getDeclaringBean(),
manager,
name,
@@ -174,7 +176,7 @@
}
else if (isEEResourceProducerField(field))
{
- return EEResourceProducerField.of(field,
+ bean = EEResourceProducerField.of(field,
getDeclaringBean(),
manager,
name,
@@ -188,7 +190,7 @@
}
else
{
- return ProducerField.of(field,
+ bean = ProducerField.of(field,
getDeclaringBean(),
manager,
name,
@@ -200,6 +202,9 @@
isProxyable(),
bindings);
}
+
+ bean.initialize();
+ return bean;
}
private Set<Class<? extends Annotation>> createEmptyStereotypes()
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/ProducerMethodBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -37,9 +37,10 @@
import org.jboss.webbeans.util.Names;
/**
- * Represents a producer method bean
+ * Builder for a producer method bean
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T>
*/
@@ -245,7 +246,7 @@
public ProducerMethod<T> createBean()
{
- return ProducerMethod.of(method,
+ ProducerMethod<T> bean = ProducerMethod.of(method,
getDeclaringBean(),
manager,
name,
@@ -258,5 +259,9 @@
bindings,
disposalMethodBean,
specializedBean);
+
+ bean.initialize();
+ registerSpecializedBean(bean);
+ return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/RIBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/RIBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/RIBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -17,23 +17,21 @@
package org.jboss.webbeans.bean.builder;
import java.lang.annotation.Annotation;
-import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicInteger;
import javax.enterprise.context.Dependent;
-import javax.enterprise.inject.spi.InjectionPoint;
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.RIBean;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
-import org.jboss.webbeans.injection.WBInjectionPoint;
/**
- * Abstract base class with functions specific to RI built-in beans
+ * Builder for RI built-in beans
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*/
abstract class RIBeanBuilder<T>
{
@@ -82,14 +80,6 @@
abstract boolean isPrimitive();
- abstract Set<WBInjectionPoint<?, ?>> getAnnotatedInjectionPoints();
-
- @SuppressWarnings("unchecked")
- Set<InjectionPoint> getInjectionPoints()
- {
- return (Set) getAnnotatedInjectionPoints();
- }
-
abstract RIBean<?> getSpecializedBean();
abstract String getId();
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builder/SessionBeanBuilder.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -30,7 +30,6 @@
import javax.decorator.Decorator;
import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.event.Observes;
import javax.interceptor.Interceptor;
@@ -41,19 +40,17 @@
import org.jboss.webbeans.bean.proxy.EnterpriseBeanInstance;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.ejb.InternalEjbDescriptor;
-import org.jboss.webbeans.ejb.api.SessionObjectReference;
import org.jboss.webbeans.ejb.spi.BusinessInterfaceDescriptor;
-import org.jboss.webbeans.ejb.spi.EjbServices;
import org.jboss.webbeans.introspector.WBClass;
import org.jboss.webbeans.introspector.WBMethod;
import org.jboss.webbeans.resources.ClassTransformer;
-import org.jboss.webbeans.util.Beans;
import org.jboss.webbeans.util.Proxies;
/**
- * An enterprise bean representation
+ * Builder for session beans
*
* @author Pete Muir
+ * @author <a href="kabir.khan(a)jboss.com">Kabir Khan</a>
*
* @param <T> The type (class) of the bean
*/
@@ -313,22 +310,26 @@
@Override
SessionBean<T> createBean()
{
- return SessionBean.of(getEjbDescriptor(),
+ SessionBean<T> bean = SessionBean.of(getEjbDescriptor(),
getManager(),
name,
types,
getMergedStereotypes(),
getScope(),
+ getDecorators(),
isAlternative(),
isProxyable(),
bindings,
getSuperclasses(),
getProxyClassForDecorators(),
- getDecorators(),
getPostConstruct(),
getPreDestroy(),
getProxyClass(),
getSpecializedBean());
+
+ bean.initialize();
+ registerSpecializedBean(bean);
+ return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builtin/AbstractBuiltInBean.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builtin/AbstractBuiltInBean.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/builtin/AbstractBuiltInBean.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -26,7 +26,6 @@
import org.jboss.webbeans.BeanManagerImpl;
import org.jboss.webbeans.bean.RIBean;
-import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.WBInjectionPoint;
import org.jboss.webbeans.literal.AnyLiteral;
import org.jboss.webbeans.literal.DefaultLiteral;
@@ -46,7 +45,7 @@
}
@Override
- public void initialize(BeanDeployerEnvironment environment)
+ public void initialize()
{
// No-op
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bean/ee/EEResourceProducerField.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -77,11 +77,11 @@
}
@Override
- public void initialize(BeanDeployerEnvironment environment)
+ public void initialize()
{
if (!isInitialized())
{
- super.initialize(environment);
+ super.initialize();
checkEEResource();
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/BeanDeployerEnvironment.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -78,7 +78,7 @@
else
{
ProducerMethod<?> bean = producerMethodBeanMap.get(method);
- bean.initialize(this);
+ bean.initialize();
return bean;
}
}
@@ -92,7 +92,7 @@
else
{
AbstractClassBean<?> bean = classBeanMap.get(clazz);
- bean.initialize(this);
+ bean.initialize();
return bean;
}
}
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/bootstrap/ExtensionBeanDeployer.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -65,7 +65,7 @@
WBClass<Extension> clazz = (WBClass<Extension>) classTransformer.loadClass(extension.getClass());
ExtensionBean bean = new ExtensionBean(getManager(), clazz, extension);
- bean.initialize(getEnvironment());
+ bean.initialize();
getEnvironment().addBean(bean);
getManager().addBean(bean);
Modified: ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/Reflections.java
===================================================================
--- ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/Reflections.java 2009-09-21 17:08:54 UTC (rev 3714)
+++ ri/branches/kabir-builder/impl/src/main/java/org/jboss/webbeans/util/Reflections.java 2009-09-21 21:13:38 UTC (rev 3715)
@@ -302,8 +302,6 @@
*/
public static boolean isPrimitive(Class<?> type)
{
- if (type == null)
- throw new NullPointerException();
return type.isPrimitive();
}
@@ -787,6 +785,8 @@
*/
public static boolean isAssignableFrom(Set<Type> types1, Set<Type> types2)
{
+ if (types1 == null)
+ throw new NullPointerException();
for (Type type : types1)
{
if (isAssignableFrom(type, types2))
14 years, 8 months