Skip to content

Commit

Permalink
unify addBean, finish BeanIdStore
Browse files Browse the repository at this point in the history
git-svn-id: http://anonsvn.jboss.org/repos/weld/ri/trunk@2957 1c488680-804c-0410-94cd-c6b725194a0e
  • Loading branch information
pmuir committed Jul 2, 2009
1 parent 486b025 commit 8c7626f
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 23 deletions.
2 changes: 1 addition & 1 deletion impl/src/main/java/org/jboss/webbeans/BeanIdStore.java
Expand Up @@ -103,7 +103,7 @@ public boolean contains(Integer id)
return beans.containsKey(id);
}

public Integer get(Bean<?> bean, BeanManagerImpl manager)
public Integer put(Bean<?> bean, BeanManagerImpl manager)
{
if (beans.inverse().containsKey(bean))
{
Expand Down
47 changes: 25 additions & 22 deletions impl/src/main/java/org/jboss/webbeans/BeanManagerImpl.java
Expand Up @@ -528,21 +528,32 @@ protected void addWebBeansDeploymentTypes()

public void addBean(Bean<?> bean)
{
synchronized (bean)
{
if (beans.contains(bean))
{
return;
}
beanResolver.clear();
beans.add(bean);
if (bean instanceof NewEnterpriseBean)
{
NewEnterpriseBean<?> newEnterpriseBean = (NewEnterpriseBean<?>) bean;
newEnterpriseBeans.put(newEnterpriseBean.getType(), newEnterpriseBean);
}
else if (bean instanceof DecoratorBean)
{
decorators.add((DecoratorBean<?>) bean);
}
if (bean instanceof RIBean)
{
RIBean<?> riBean = (RIBean<?>) bean;
riBeans.put(riBean.getId(), riBean);
}
getServices().get(BeanIdStore.class).put(bean, this);
registerBeanNamespace(bean);
for (BeanManagerImpl childActivity : childActivities)
{
childActivity.addBean(bean);
}
return;
}
this.beans.add(bean);
beanResolver.clear();
}

public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings)
Expand Down Expand Up @@ -720,22 +731,6 @@ public Set<Bean<?>> getInjectableBeans(InjectionPoint injectionPoint)
}
}

public void addRIBean(RIBean<?> bean)
{
if (bean instanceof NewEnterpriseBean)
{
newEnterpriseBeans.put(bean.getType(), (EnterpriseBean<?>) bean);
}
if (bean instanceof DecoratorBean)
{
decorators.add((DecoratorBean<?>) bean);
}
riBeans.put(bean.getId(), bean);
registerBeanNamespace(bean);
this.beans.add(bean);
beanResolver.clear();
}

protected void registerBeanNamespace(Bean<?> bean)
{
if (bean.getName() != null && bean.getName().indexOf('.') > 0)
Expand Down Expand Up @@ -1377,4 +1372,12 @@ public int compare(Bean<? extends X> o1, Bean<? extends X> o2)
return sortedBeans.last();
}

/**
* @param bean
*/
public void addRIBean(RIBean<?> bean)
{
addBean(bean);
}

}

0 comments on commit 8c7626f

Please sign in to comment.