[webbeans-commits] Webbeans SVN: r1202 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean.
webbeans-commits at lists.jboss.org
webbeans-commits at lists.jboss.org
Fri Jan 23 08:45:29 EST 2009
Author: pete.muir at jboss.org
Date: 2009-01-23 08:45:28 -0500 (Fri, 23 Jan 2009)
New Revision: 1202
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
Log:
Slightly neater specializtion :-)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-01-23 13:33:44 UTC (rev 1201)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-01-23 13:45:28 UTC (rev 1202)
@@ -132,16 +132,17 @@
protected void init()
{
mergedStereotypes = new MergedStereotypes<T, E>(getAnnotatedItem().getMetaAnnotations(Stereotype.class));
+ initBindingTypes();
if (isSpecializing())
{
preCheckSpecialization();
initSpecialization();
postSpecialization();
}
+ initDefaultBindings();
initType();
initPrimitive();
log.debug("Building Web Bean bean metadata for " + getType());
- initBindingTypes();
initName();
initDeploymentType();
checkDeploymentType();
@@ -167,10 +168,10 @@
{
this.bindingTypes = new HashSet<Annotation>();
this.bindingTypes.addAll(getAnnotatedItem().getMetaAnnotations(BindingType.class));
- if (isSpecializing())
- {
- this.bindingTypes.addAll(getSpecializedBean().getBindings());
- }
+ }
+
+ protected void initDefaultBindings()
+ {
if (bindingTypes.size() == 0)
{
log.trace("Adding default @Current binding type");
@@ -180,7 +181,6 @@
{
log.trace("Using binding types " + bindingTypes + " specified by annotations");
}
- return;
}
/**
@@ -227,11 +227,6 @@
return;
}
}
- else if (isSpecializing())
- {
- this.name = getSpecializedBean().getName();
- return;
- }
if (beanNameDefaulted || getMergedStereotypes().isBeanNameDefaulted())
{
@@ -334,8 +329,12 @@
{
throw new DefinitionException("Cannot put name on specializing and specialized class");
}
- // register the specialized bean
- // TODO not sure this quite right
+ this.bindingTypes.addAll(getSpecializedBean().getBindings());
+ if (isSpecializing() && getSpecializedBean().getAnnotatedItem().isAnnotationPresent(Named.class))
+ {
+ this.name = getSpecializedBean().getName();
+ return;
+ }
manager.getSpecializedBeans().put(getSpecializedBean(), this);
}
More information about the weld-commits
mailing list