You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by db...@apache.org on 2010/08/04 20:32:10 UTC

svn commit: r982352 - in /openwebbeans/trunk: webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/ webbeans-impl/src/main/java/org/apache/webbeans/container/ webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/

Author: dblevins
Date: Wed Aug  4 18:32:10 2010
New Revision: 982352

URL: http://svn.apache.org/viewvc?rev=982352&view=rev
Log:
Tweaked to better handle duplicate definitions in the EJB layer

Added:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/DuplicateDefinitionException.java
      - copied, changed from r982092, openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/NonexistentConstructorException.java
Modified:
    openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/container/BeanManagerImpl.java

Modified: openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java?rev=982352&r1=982351&r2=982352&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java (original)
+++ openwebbeans/trunk/webbeans-ejb/src/main/java/org/apache/webbeans/ejb/common/util/EjbUtility.java Wed Aug  4 18:32:10 2010
@@ -42,6 +42,7 @@ import org.apache.webbeans.ejb.common.co
 import org.apache.webbeans.event.ObserverMethodImpl;
 import org.apache.webbeans.exception.WebBeansConfigurationException;
 import org.apache.webbeans.exception.WebBeansException;
+import org.apache.webbeans.exception.definition.DuplicateDefinitionException;
 import org.apache.webbeans.portable.AnnotatedElementFactory;
 import org.apache.webbeans.portable.events.ProcessAnnotatedTypeImpl;
 import org.apache.webbeans.portable.events.ProcessInjectionTargetImpl;
@@ -155,8 +156,14 @@ public final class EjbUtility
         WebBeansUtil.fireProcessObservableMethodBeanEvent(observerMethodsMap);
         WebBeansUtil.inspectErrorStack("There are errors that are added by ProcessObserverMethod event observers for observer methods. Look at logs for further details");
 
+        try
+        {
+            manager.addBean(WebBeansUtil.createNewBean(ejbBean));
+        }
+        catch (DuplicateDefinitionException ignore)
+        {
+        }
         
-        manager.addBean(WebBeansUtil.createNewBean(ejbBean));                
         manager.addBean(ejbBean);
         manager.getBeans().addAll(producerMethodBeans);
         ejbBeanCreator.defineDisposalMethods();

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=982352&r1=982351&r2=982352&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 Wed Aug  4 18:32:10 2010
@@ -72,6 +72,7 @@ import org.apache.webbeans.decorator.Web
 import org.apache.webbeans.decorator.WebBeansDecoratorConfig;
 import org.apache.webbeans.event.NotificationManager;
 import org.apache.webbeans.exception.WebBeansConfigurationException;
+import org.apache.webbeans.exception.definition.DuplicateDefinitionException;
 import org.apache.webbeans.exception.inject.DefinitionException;
 import org.apache.webbeans.intercept.InterceptorComparator;
 import org.apache.webbeans.intercept.WebBeansInterceptorConfig;
@@ -320,14 +321,14 @@ public class BeanManagerImpl implements 
     {
         if(newBean instanceof AbstractOwbBean)
         {
-            this.deploymentBeans.add(newBean);
             addPassivationInfo((OwbBean)newBean);
+            this.deploymentBeans.add(newBean);
         }
         else
         {
             ThirdpartyBeanImpl<?> bean = new ThirdpartyBeanImpl(newBean);
-            this.deploymentBeans.add(bean);
             addPassivationInfo(bean);
+            this.deploymentBeans.add(bean);
         }
         
 
@@ -348,7 +349,7 @@ public class BeanManagerImpl implements 
             Bean<?> oldBean = passivationBeans.putIfAbsent(id, bean);
             if (oldBean != null)
             {
-                throw new DefinitionException("PassivationCapable bean id is not unique: " + id + " bean:" + bean);
+                throw new DuplicateDefinitionException("PassivationCapable bean id is not unique: " + id + " bean:" + bean);
             }
             
         }        

Copied: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/DuplicateDefinitionException.java (from r982092, openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/NonexistentConstructorException.java)
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/DuplicateDefinitionException.java?p2=openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/DuplicateDefinitionException.java&p1=openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/NonexistentConstructorException.java&r1=982092&r2=982352&rev=982352&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/NonexistentConstructorException.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/exception/definition/DuplicateDefinitionException.java Wed Aug  4 18:32:10 2010
@@ -20,26 +20,26 @@ package org.apache.webbeans.exception.de
 
 import org.apache.webbeans.exception.inject.DefinitionException;
 
-public class NonexistentConstructorException extends DefinitionException
+public class DuplicateDefinitionException extends DefinitionException
 {
-    private static final long serialVersionUID = 5271502302312280463L;
+    private static final long serialVersionUID = 2312285271502063304L;
 
-    public NonexistentConstructorException()
+    public DuplicateDefinitionException()
     {
         super();
     }
 
-    public NonexistentConstructorException(String message)
+    public DuplicateDefinitionException(String message)
     {
         super(message);
     }
 
-    public NonexistentConstructorException(Throwable e)
+    public DuplicateDefinitionException(Throwable e)
     {
         super(e);
     }
 
-    public NonexistentConstructorException(String message, Throwable e)
+    public DuplicateDefinitionException(String message, Throwable e)
     {
         super(message, e);
     }