You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by da...@apache.org on 2007/04/07 08:44:41 UTC
svn commit: r526381 -
/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java
Author: dain
Date: Fri Apr 6 23:44:40 2007
New Revision: 526381
URL: http://svn.apache.org/viewvc?view=rev&rev=526381
Log:
NoSuchObjectException is an application exception
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java?view=diff&rev=526381&r1=526380&r2=526381
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java Fri Apr 6 23:44:40 2007
@@ -31,7 +31,6 @@
import javax.ejb.EntityBean;
import javax.ejb.Timer;
import javax.ejb.NoSuchEntityException;
-import javax.ejb.EJBException;
import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
@@ -40,6 +39,7 @@
import org.apache.openejb.ProxyInfo;
import org.apache.openejb.SystemException;
import org.apache.openejb.ContainerType;
+import org.apache.openejb.ApplicationException;
import org.apache.openejb.spi.SecurityService;
import org.apache.openejb.core.BaseContext;
import org.apache.openejb.core.Operation;
@@ -195,12 +195,7 @@
try {
- try {
- bean = instanceManager.obtainInstance(callContext);
- } catch (org.apache.openejb.OpenEJBException e) {
-
- throw e.getRootCause();
- }
+ bean = instanceManager.obtainInstance(callContext);
ejbLoad_If_No_Transaction(callContext, bean);
returnValue = runMethod.invoke(bean, args);
@@ -216,6 +211,8 @@
instanceManager.poolInstance(callContext, bean);
txPolicy.handleApplicationException(ite.getTargetException(), txContext);
}
+ } catch (org.apache.openejb.ApplicationException e) {
+ txPolicy.handleApplicationException(e.getRootCause(), txContext);
} catch (org.apache.openejb.SystemException se) {
txPolicy.handleSystemException(se.getRootCause(), bean, txContext);
} catch (Throwable iae) {// handle reflection exception
@@ -258,7 +255,7 @@
bean.ejbLoad();
} catch (NoSuchEntityException e) {
instanceManager.discardInstance(callContext, bean);
- throw new org.apache.openejb.InvalidateReferenceException(new NoSuchObjectException("Entity not found: " + callContext.getPrimaryKey())/*.initCause(e)*/);
+ throw new ApplicationException(new NoSuchObjectException("Entity not found: " + callContext.getPrimaryKey())/*.initCause(e)*/);
} catch (Exception e) {
instanceManager.discardInstance(callContext, bean);
throw e;
@@ -489,6 +486,8 @@
bean.ejbRemove();
didRemove(bean, callContext);
instanceManager.poolInstance(callContext, bean);
+ } catch (org.apache.openejb.ApplicationException e) {
+ txPolicy.handleApplicationException(e.getRootCause(), txContext);
} catch (org.apache.openejb.SystemException se) {
txPolicy.handleSystemException(se.getRootCause(), bean, txContext);
} catch (Exception e) {// handle reflection exception