You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2012/12/02 14:26:14 UTC
Fwd: svn commit: r1416173 - /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
Hi (again),
i know this will likely make a bunch of TCK fail.
I just want to get the failing list then we can revert this; this is
clearly a very big regression from pre-tomee times.
I dont think we could get sthg for next release but at least we'll get
the info and be able to work on
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau
---------- Forwarded message ----------
From: <rm...@apache.org>
Date: 2012/12/2
Subject: svn commit: r1416173 -
/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
To: commits@openejb.apache.org
Author: rmannibucau
Date: Sun Dec 2 13:20:57 2012
New Revision: 1416173
URL: http://svn.apache.org/viewvc?rev=1416173&view=rev
Log:
trying to make MergeWebappJndiContext deployment faster - main point:
get regressions on TCKs to be able to work on
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java?rev=1416173&r1=1416172&r2=1416173&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
(original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/MergeWebappJndiContext.java
Sun Dec 2 13:20:57 2012
@@ -26,6 +26,7 @@ import org.apache.openejb.jee.Persistenc
import org.apache.openejb.jee.PersistenceContextType;
import org.apache.openejb.jee.ResourceEnvRef;
import org.apache.openejb.jee.ResourceRef;
+import org.apache.openejb.jee.SessionBean;
import org.apache.openejb.jee.TransactionType;
import javax.ejb.EJBContext;
@@ -84,34 +85,38 @@ public class MergeWebappJndiContext impl
mergeUserTransaction(webApp.getResourceEnvRefMap(),
bean.getResourceEnvRefMap(), bean);
}
+ final SessionBean aggregator = new SessionBean(); // easy way
to get a JndiConsumer
+
for (EnterpriseBean a : ejbJar.getEnterpriseBeans()) {
+ aggregator.getEnvEntryMap().putAll(a.getEnvEntryMap());
+ aggregator.getEjbRefMap().putAll(a.getEjbRefMap());
+ aggregator.getEjbLocalRefMap().putAll(a.getEjbLocalRefMap());
+ aggregator.getServiceRefMap().putAll(a.getServiceRefMap());
+ aggregator.getResourceRefMap().putAll(a.getResourceRefMap());
+ aggregator.getResourceEnvRefMap().putAll(a.getResourceEnvRefMap());
+ aggregator.getMessageDestinationRefMap().putAll(a.getMessageDestinationRefMap());
+ aggregator.getPersistenceContextRefMap().putAll(a.getPersistenceContextRefMap());
+ aggregator.getPersistenceUnitRefMap().putAll(a.getPersistenceUnitRefMap());
+ }
- // Merge the bean namespaces together too
- for (EnterpriseBean b : ejbJar.getEnterpriseBeans()) {
- if (a == b) continue;
-
- merge(a.getEnvEntryMap(), b.getEnvEntryMap());
- merge(a.getEjbRefMap(), b.getEjbRefMap());
- merge(a.getEjbLocalRefMap(), b.getEjbLocalRefMap());
- merge(a.getServiceRefMap(), b.getServiceRefMap());
- merge(a.getResourceRefMap(), b.getResourceRefMap());
- merge(a.getResourceEnvRefMap(), b.getResourceEnvRefMap());
- merge(a.getMessageDestinationRefMap(),
b.getMessageDestinationRefMap());
- merge(a.getPersistenceContextRefMap(),
b.getPersistenceContextRefMap());
- merge(a.getPersistenceUnitRefMap(),
b.getPersistenceUnitRefMap());
+ for (EnterpriseBean a : ejbJar.getEnterpriseBeans()) {
+ merge(a.getEnvEntryMap(), aggregator.getEnvEntryMap());
+ merge(a.getEjbRefMap(), aggregator.getEjbRefMap());
+ merge(a.getEjbLocalRefMap(), aggregator.getEjbLocalRefMap());
+ merge(a.getServiceRefMap(), aggregator.getServiceRefMap());
+ merge(a.getResourceRefMap(), aggregator.getResourceRefMap());
+ merge(a.getResourceEnvRefMap(), aggregator.getResourceEnvRefMap());
+ merge(a.getMessageDestinationRefMap(),
aggregator.getMessageDestinationRefMap());
+ merge(a.getPersistenceContextRefMap(),
aggregator.getPersistenceContextRefMap());
+ merge(a.getPersistenceUnitRefMap(),
aggregator.getPersistenceUnitRefMap());
- mergeUserTransaction(a.getResourceRefMap(),
b.getResourceRefMap(), b);
- mergeUserTransaction(a.getResourceEnvRefMap(),
b.getResourceEnvRefMap(), b);
- }
+ mergeUserTransaction(aggregator.getResourceRefMap(),
a.getResourceRefMap(), a);
+ mergeUserTransaction(aggregator.getResourceEnvRefMap(),
a.getResourceEnvRefMap(), a);
}
}
/**
* Bidirectional a-b merge
- *
- * @param a
- * @param b
- * @param <R>
*/
private <R extends JndiReference> void merge(Map<String, R> a,
Map<String, R> b) {
copy(a, b);