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);
}
-
- }
+
+ }
}