You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ti...@apache.org on 2011/10/21 13:39:06 UTC
svn commit: r1187305 - in
/aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender:
EJBExtender.java RunningApplication.java
Author: timothyjward
Date: Fri Oct 21 11:39:05 2011
New Revision: 1187305
URL: http://svn.apache.org/viewvc?rev=1187305&view=rev
Log:
ARIES-754: Try to get trunk building properly again - Fix ejb itests
Modified:
aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/EJBExtender.java
aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/RunningApplication.java
Modified: aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/EJBExtender.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/EJBExtender.java?rev=1187305&r1=1187304&r2=1187305&view=diff
==============================================================================
--- aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/EJBExtender.java (original)
+++ aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/EJBExtender.java Fri Oct 21 11:39:05 2011
@@ -34,7 +34,11 @@ import org.apache.aries.util.tracker.Rec
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.assembler.classic.Assembler;
import org.apache.openejb.assembler.classic.EjbJarInfo;
+import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
+import org.apache.openejb.assembler.classic.PersistenceContextReferenceInfo;
+import org.apache.openejb.assembler.classic.PersistenceUnitReferenceInfo;
import org.apache.openejb.assembler.classic.ProxyFactoryInfo;
+import org.apache.openejb.assembler.classic.ReferenceLocationInfo;
import org.apache.openejb.assembler.classic.SecurityServiceInfo;
import org.apache.openejb.assembler.classic.TransactionServiceInfo;
import org.apache.openejb.assembler.dynamic.PassthroughFactory;
@@ -230,6 +234,8 @@ public class EJBExtender implements Bund
Thread.currentThread().setContextClassLoader(cl);
}
+ processJPAMappings(ejbInfo);
+
Assembler assembler = (Assembler) SystemInstance.get().getComponent(Assembler.class);
RunningApplication app = null;
@@ -266,6 +272,22 @@ public class EJBExtender implements Bund
}
}
+ private void processJPAMappings(EjbJarInfo ejbInfo) {
+ for(EnterpriseBeanInfo ebi : ejbInfo.enterpriseBeans){
+
+ for(PersistenceUnitReferenceInfo pui : ebi.jndiEnc.persistenceUnitRefs) {
+ pui.location = new ReferenceLocationInfo();
+ pui.location.jndiName = "aries/integration/unit/" + pui.persistenceUnitName;
+ }
+
+ for(PersistenceContextReferenceInfo pci : ebi.jndiEnc.persistenceContextRefs) {
+ pci.location = new ReferenceLocationInfo();
+ pci.location.jndiName = "aries/integration/context/" + pci.persistenceUnitName;
+ }
+ }
+
+ }
+
private void addAltDDs(EjbModule ejbModule, Bundle bundle) {
Map<String, Object> altDDs = ejbModule.getAltDDs();
Modified: aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/RunningApplication.java
URL: http://svn.apache.org/viewvc/aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/RunningApplication.java?rev=1187305&r1=1187304&r2=1187305&view=diff
==============================================================================
--- aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/RunningApplication.java (original)
+++ aries/trunk/ejb/openejb-extender/src/main/java/org/apache/aries/ejb/openejb/extender/RunningApplication.java Fri Oct 21 11:39:05 2011
@@ -44,6 +44,7 @@ import org.apache.openejb.assembler.clas
import org.apache.openejb.assembler.classic.PersistenceContextReferenceInfo;
import org.apache.openejb.assembler.classic.PersistenceUnitReferenceInfo;
import org.apache.openejb.assembler.classic.ProxyInterfaceResolver;
+import org.apache.openejb.assembler.classic.ReferenceLocationInfo;
import org.apache.openejb.jee.EnterpriseBean;
import org.apache.openejb.persistence.JtaEntityManager;
import org.osgi.framework.Bundle;
@@ -64,8 +65,8 @@ public class RunningApplication implemen
private ServiceTracker tracker;
- private final ConcurrentMap<String, ConcurrentMap<Context, String>> unitRegistrations =
- new ConcurrentHashMap<String, ConcurrentMap<Context, String>>();
+ private final ConcurrentMap<String, ConcurrentMap<Context, PersistenceUnitReferenceInfo>>
+ unitRegistrations = new ConcurrentHashMap<String, ConcurrentMap<Context, PersistenceUnitReferenceInfo>>();
private final ConcurrentMap<String, ConcurrentMap<Context, PersistenceContextReferenceInfo>>
contextRegistrations = new ConcurrentHashMap<String, ConcurrentMap<Context, PersistenceContextReferenceInfo>>();
@@ -76,16 +77,17 @@ public class RunningApplication implemen
for(EnterpriseBeanInfo bean : enterpriseBeans) {
for(PersistenceUnitReferenceInfo pui : bean.jndiEnc.persistenceUnitRefs) {
- ConcurrentMap<Context, String> map = unitRegistrations.get(pui.persistenceUnitName);
+ ConcurrentMap<Context, PersistenceUnitReferenceInfo> map = unitRegistrations.
+ get(pui.persistenceUnitName);
if(map == null) {
- map = new ConcurrentHashMap<Context, String>();
+ map = new ConcurrentHashMap<Context, PersistenceUnitReferenceInfo>();
unitRegistrations.put(pui.persistenceUnitName, map);
}
for(BeanContext eb : ctx.getBeanContexts()) {
if(eb.getEjbName().equals(bean.ejbName)){
- map.put(eb.getJndiContext(), pui.referenceName);
+ map.put(eb.getJndiContext(), pui);
continue;
}
}
@@ -223,13 +225,13 @@ public class RunningApplication implemen
if(isTrue(reference, PersistenceUnitConstants.CONTAINER_MANAGED_PERSISTENCE_UNIT) &&
!!!isTrue(reference, PersistenceContextProvider.PROXY_FACTORY_EMF_ATTRIBUTE)) {
- Map<Context, String> pUnitRefs = unitRegistrations.
+ Map<Context, PersistenceUnitReferenceInfo> pUnitRefs = unitRegistrations.
get(reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME));
Map<Context, PersistenceContextReferenceInfo> pCtxRefs = contextRegistrations.
get(reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME));
if(pUnitRefs == null) {
- pUnitRefs = new HashMap<Context, String>();
+ pUnitRefs = new HashMap<Context, PersistenceUnitReferenceInfo>();
}
if(pCtxRefs == null) {
pCtxRefs = new HashMap<Context, PersistenceContextReferenceInfo>();
@@ -239,9 +241,9 @@ public class RunningApplication implemen
EntityManagerFactory emf = (EntityManagerFactory)bundle.getBundleContext().getService(reference);
- for(Entry<Context, String> e : pUnitRefs.entrySet()) {
+ for(Entry<Context, PersistenceUnitReferenceInfo> e : pUnitRefs.entrySet()) {
try {
- e.getKey().bind(e.getValue(), emf);
+ e.getKey().bind(e.getValue().referenceName, emf);
} catch (NamingException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
@@ -276,13 +278,13 @@ public class RunningApplication implemen
public void removedService(ServiceReference reference, Object service) {
- Map<Context, String> pUnitRefs = unitRegistrations.
+ Map<Context, PersistenceUnitReferenceInfo> pUnitRefs = unitRegistrations.
get(reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME));
Map<Context, PersistenceContextReferenceInfo> pCtxRefs = contextRegistrations.
get(reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME));
if(pUnitRefs == null) {
- pUnitRefs = new HashMap<Context, String>();
+ pUnitRefs = new HashMap<Context, PersistenceUnitReferenceInfo>();
}
if(pCtxRefs == null) {
pCtxRefs = new HashMap<Context, PersistenceContextReferenceInfo>();
@@ -290,9 +292,9 @@ public class RunningApplication implemen
if(pUnitRefs.size() > 0 || pCtxRefs.size() > 0) {
- for(Entry<Context, String> e : pUnitRefs.entrySet()) {
+ for(Entry<Context, PersistenceUnitReferenceInfo> e : pUnitRefs.entrySet()) {
try {
- e.getKey().unbind(e.getValue());
+ e.getKey().unbind(e.getValue().referenceName);
} catch (NamingException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();