You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2013/01/13 13:11:22 UTC
svn commit: r1432597 -
/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
Author: struberg
Date: Sun Jan 13 12:11:22 2013
New Revision: 1432597
URL: http://svn.apache.org/viewvc?rev=1432597&view=rev
Log:
OWB-754 fix PassivationCapable rules
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java?rev=1432597&r1=1432596&r2=1432597&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java Sun Jan 13 12:11:22 2013
@@ -51,6 +51,7 @@ import javax.enterprise.inject.spi.Injec
import javax.enterprise.inject.spi.InterceptionType;
import javax.enterprise.inject.spi.Interceptor;
import javax.enterprise.inject.spi.ObserverMethod;
+import javax.enterprise.inject.spi.PassivationCapable;
import javax.enterprise.inject.spi.Producer;
import javax.inject.Scope;
import javax.interceptor.InterceptorBinding;
@@ -358,9 +359,18 @@ public class BeanManagerImpl implements
* @param bean
* @throws DefinitionException if the id is not unique.
*/
- public void addPassivationInfo(OwbBean<?> bean) throws DefinitionException
+ public void addPassivationInfo(Bean<?> bean) throws DefinitionException
{
- String id = bean.getId();
+ String id = null;
+ if (bean instanceof OwbBean<?>)
+ {
+ id = ((OwbBean) bean).getId();
+ }
+ if (id == null && bean instanceof PassivationCapable)
+ {
+ id = ((PassivationCapable) bean).getId();
+ }
+
if(id != null)
{
Bean<?> oldBean = passivationBeans.putIfAbsent(id, bean);
@@ -368,8 +378,8 @@ public class BeanManagerImpl implements
{
throw new DuplicateDefinitionException("PassivationCapable bean id is not unique: " + id + " bean:" + bean);
}
-
- }
+
+ }
}