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/03/24 19:03:26 UTC
svn commit: r522073 - in /incubator/openejb/trunk/openejb3/container:
openejb-core/src/main/java/org/apache/openejb/config/
openejb-core/src/test/java/org/apache/openejb/core/stateful/
openejb-core/src/test/java/org/apache/openejb/core/stateless/ opene...
Author: dain
Date: Sat Mar 24 11:03:25 2007
New Revision: 522073
URL: http://svn.apache.org/viewvc?view=rev&rev=522073
Log:
Move JNDI enc info building to app level so cross module link refs work
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ExtendedInjectionTest.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java
incubator/openejb/trunk/openejb3/container/openejb-javaagent/pom.xml
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?view=diff&rev=522073&r1=522072&r2=522073
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Sat Mar 24 11:03:25 2007
@@ -16,20 +16,6 @@
*/
package org.apache.openejb.config;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import javax.xml.bind.JAXBException;
-
import org.apache.openejb.OpenEJBException;
import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.assembler.classic.Assembler;
@@ -45,28 +31,29 @@
import org.apache.openejb.assembler.classic.FacilitiesInfo;
import org.apache.openejb.assembler.classic.JndiContextInfo;
import org.apache.openejb.assembler.classic.MdbContainerInfo;
+import org.apache.openejb.assembler.classic.MessageDrivenBeanInfo;
import org.apache.openejb.assembler.classic.OpenEjbConfiguration;
import org.apache.openejb.assembler.classic.OpenEjbConfigurationFactory;
import org.apache.openejb.assembler.classic.PersistenceUnitInfo;
import org.apache.openejb.assembler.classic.ProxyFactoryInfo;
+import org.apache.openejb.assembler.classic.ResourceInfo;
import org.apache.openejb.assembler.classic.SecurityServiceInfo;
import org.apache.openejb.assembler.classic.ServiceInfo;
import org.apache.openejb.assembler.classic.StatefulSessionContainerInfo;
import org.apache.openejb.assembler.classic.StatelessSessionContainerInfo;
import org.apache.openejb.assembler.classic.TransactionServiceInfo;
-import org.apache.openejb.assembler.classic.ResourceInfo;
-import org.apache.openejb.assembler.classic.MessageDrivenBeanInfo;
import org.apache.openejb.config.sys.ConnectionManager;
import org.apache.openejb.config.sys.Connector;
import org.apache.openejb.config.sys.Container;
import org.apache.openejb.config.sys.JndiProvider;
import org.apache.openejb.config.sys.Openejb;
import org.apache.openejb.config.sys.ProxyFactory;
+import org.apache.openejb.config.sys.Resource;
import org.apache.openejb.config.sys.SecurityService;
import org.apache.openejb.config.sys.ServiceProvider;
import org.apache.openejb.config.sys.TransactionManager;
-import org.apache.openejb.config.sys.Resource;
-import org.apache.openejb.jee.*;
+import org.apache.openejb.jee.ApplicationClient;
+import org.apache.openejb.jee.EjbJar;
import org.apache.openejb.jee.jpa.EntityMappings;
import org.apache.openejb.jee.jpa.JpaJaxbUtil;
import org.apache.openejb.jee.jpa.unit.Persistence;
@@ -77,6 +64,20 @@
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.Messages;
+import javax.xml.bind.JAXBException;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
public class ConfigurationFactory implements OpenEjbConfigurationFactory {
private static final Logger logger = Logger.getInstance("OpenEJB.startup.config", "org.apache.openejb.util.resources");
@@ -340,6 +341,10 @@
throw e;
}
}
+
+ // process JNDI refs... all JDNI refs for the whole application
+ // must be processed at the same time
+ JndiEncInfoBuilder.initJndiReferences(appModule, appInfo);
for (ClientModule clientModule : appModule.getClientModules()) {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java?view=diff&rev=522073&r1=522072&r2=522073
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/EjbJarInfoBuilder.java Sat Mar 24 11:03:25 2007
@@ -18,23 +18,68 @@
package org.apache.openejb.config;
import org.apache.openejb.OpenEJBException;
-import org.apache.openejb.util.Messages;
-import org.apache.openejb.util.Logger;
-import org.apache.openejb.jee.oejb3.EjbDeployment;
-import org.apache.openejb.jee.oejb3.ResourceLink;
-import org.apache.openejb.assembler.classic.*;
-import org.apache.openejb.jee.*;
+import org.apache.openejb.assembler.classic.CallbackInfo;
+import org.apache.openejb.assembler.classic.CmrFieldInfo;
+import org.apache.openejb.assembler.classic.EjbJarInfo;
+import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
+import org.apache.openejb.assembler.classic.EntityBeanInfo;
+import org.apache.openejb.assembler.classic.InitMethodInfo;
+import org.apache.openejb.assembler.classic.InterceptorBindingInfo;
+import org.apache.openejb.assembler.classic.InterceptorInfo;
+import org.apache.openejb.assembler.classic.MessageDrivenBeanInfo;
+import org.apache.openejb.assembler.classic.MethodInfo;
+import org.apache.openejb.assembler.classic.MethodPermissionInfo;
+import org.apache.openejb.assembler.classic.MethodTransactionInfo;
+import org.apache.openejb.assembler.classic.NamedMethodInfo;
+import org.apache.openejb.assembler.classic.QueryInfo;
+import org.apache.openejb.assembler.classic.RemoveMethodInfo;
+import org.apache.openejb.assembler.classic.SecurityRoleInfo;
+import org.apache.openejb.assembler.classic.SecurityRoleReferenceInfo;
+import org.apache.openejb.assembler.classic.StatefulBeanInfo;
+import org.apache.openejb.assembler.classic.StatelessBeanInfo;
+import org.apache.openejb.jee.ActivationConfig;
+import org.apache.openejb.jee.ActivationConfigProperty;
+import org.apache.openejb.jee.CallbackMethod;
+import org.apache.openejb.jee.CmpField;
+import org.apache.openejb.jee.CmpVersion;
+import org.apache.openejb.jee.ContainerTransaction;
+import org.apache.openejb.jee.EjbRelation;
+import org.apache.openejb.jee.EjbRelationshipRole;
+import org.apache.openejb.jee.EnterpriseBean;
import org.apache.openejb.jee.EntityBean;
+import org.apache.openejb.jee.Icon;
+import org.apache.openejb.jee.InitMethod;
+import org.apache.openejb.jee.Interceptor;
+import org.apache.openejb.jee.InterceptorBinding;
+import org.apache.openejb.jee.JndiConsumer;
+import org.apache.openejb.jee.MessageDrivenBean;
+import org.apache.openejb.jee.Method;
+import org.apache.openejb.jee.MethodParams;
+import org.apache.openejb.jee.MethodPermission;
+import org.apache.openejb.jee.Multiplicity;
+import org.apache.openejb.jee.NamedMethod;
+import org.apache.openejb.jee.PersistenceType;
+import org.apache.openejb.jee.Query;
+import org.apache.openejb.jee.QueryMethod;
+import org.apache.openejb.jee.RemoteBean;
+import org.apache.openejb.jee.RemoveMethod;
+import org.apache.openejb.jee.SecurityRole;
+import org.apache.openejb.jee.SecurityRoleRef;
import org.apache.openejb.jee.SessionBean;
+import org.apache.openejb.jee.SessionType;
+import org.apache.openejb.jee.TransactionType;
+import org.apache.openejb.jee.oejb3.EjbDeployment;
import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.Messages;
+import java.io.File;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Collections;
-import java.util.Iterator;
-import java.io.File;
/**
* @version $Revision$ $Date$
@@ -107,8 +152,6 @@
}
- initJndiReferences(ejbds, infos, items);
-
if (jar.getEjbJar().getAssemblyDescriptor() != null) {
initInterceptors(jar, ejbJar, infos);
initSecurityRoles(jar, ejbJar);
@@ -221,32 +264,6 @@
info.method = toInfo(binding.getMethod());
ejbJar.interceptorBindings.add(info);
- }
- }
-
- private void initJndiReferences(Map<String, EjbDeployment> ejbds, Map<String, EnterpriseBeanInfo> beanInfos, Map<String, EnterpriseBean> beanData) throws OpenEJBException {
-
- JndiEncInfoBuilder jndiEncInfoBuilder = new JndiEncInfoBuilder(beanInfos.values(), null);
-
- for (EnterpriseBeanInfo beanInfo : beanInfos.values()) {
-
- String ejbName = beanInfo.ejbName;
- JndiConsumer jndiConsumer = beanData.get(ejbName);
-
- EjbDeployment ejbDeployment = ejbds.get(ejbName);
-
- // Link all the resource refs
- List<ResourceRef> resourceRefs = jndiConsumer.getResourceRef();
- for (ResourceRef res : resourceRefs) {
- ResourceLink resourceLink = ejbDeployment.getResourceLink(res.getResRefName());
- if (resourceLink != null && resourceLink.getResId() != null /* don't overwrite with null */) {
- res.setResLink(resourceLink.getResId());
- }
- }
-
- JndiEncInfo jndi = jndiEncInfoBuilder.build(jndiConsumer, ejbName);
-
- beanInfo.jndiEnc = jndi;
}
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java?view=diff&rev=522073&r1=522072&r2=522073
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java Sat Mar 24 11:03:25 2007
@@ -31,6 +31,7 @@
import org.apache.openejb.assembler.classic.ResourceReferenceInfo;
import org.apache.openejb.assembler.classic.MessageDestinationReferenceInfo;
import org.apache.openejb.assembler.classic.ServiceReferenceInfo;
+import org.apache.openejb.assembler.classic.AppInfo;
import org.apache.openejb.jee.EjbLocalRef;
import org.apache.openejb.jee.EjbRef;
import org.apache.openejb.jee.EnvEntry;
@@ -46,6 +47,9 @@
import org.apache.openejb.jee.ResourceRef;
import org.apache.openejb.jee.ServiceRef;
import org.apache.openejb.jee.MessageDestinationRef;
+import org.apache.openejb.jee.EnterpriseBean;
+import org.apache.openejb.jee.oejb3.EjbDeployment;
+import org.apache.openejb.jee.oejb3.ResourceLink;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.Messages;
@@ -55,11 +59,85 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Arrays;
+import java.util.TreeMap;
/**
* @version $Rev$ $Date$
*/
public class JndiEncInfoBuilder {
+ public static void initJndiReferences(AppModule appModule, AppInfo appInfo) throws OpenEJBException {
+ // index the jaxb objects
+ Map<String, EnterpriseBean> beanData = new TreeMap<String, EnterpriseBean>();
+ Map<String, EjbDeployment> ejbDeployments = new TreeMap<String, EjbDeployment>();
+ for (EjbModule ejbModule : appModule.getEjbModules()) {
+ for (EnterpriseBean enterpriseBean : ejbModule.getEjbJar().getEnterpriseBeans()) {
+ beanData.put(enterpriseBean.getEjbName(), enterpriseBean);
+ }
+ ejbDeployments.putAll(ejbModule.getOpenejbJar().getDeploymentsByEjbName());
+ }
+
+ // Create the JNDI info builder
+ JndiEncInfoBuilder jndiEncInfoBuilder = new JndiEncInfoBuilder(appInfo.ejbJars);
+
+ // Build the JNDI tree for each ejb
+ for (EjbJarInfo ejbJar : appInfo.ejbJars) {
+ for (EnterpriseBeanInfo beanInfo : ejbJar.enterpriseBeans) {
+ String ejbName = beanInfo.ejbName;
+
+ // Get the JAXB tree for the info object
+ EnterpriseBean enterpriseBean = beanData.get(ejbName);
+
+ // Get the OpenEJB deployment
+ EjbDeployment ejbDeployment = ejbDeployments.get(ejbName);
+
+ // build the tree
+ initJndiReferences(enterpriseBean, ejbDeployment, beanInfo, jndiEncInfoBuilder);
+ }
+ }
+ }
+
+ public static void initJndiReferences(EjbModule ejbModule, EjbJarInfo ejbJarInfo) throws OpenEJBException {
+ // index the jaxb objects
+ Map<String, EnterpriseBean> beanData = new TreeMap<String, EnterpriseBean>();
+ for (EnterpriseBean enterpriseBean : ejbModule.getEjbJar().getEnterpriseBeans()) {
+ beanData.put(enterpriseBean.getEjbName(), enterpriseBean);
+ }
+
+ Map<String, EjbDeployment> ejbDeployments = ejbModule.getOpenejbJar().getDeploymentsByEjbName();
+
+ // Create the JNDI info builder
+ JndiEncInfoBuilder jndiEncInfoBuilder = new JndiEncInfoBuilder(ejbJarInfo);
+
+ // Build the JNDI tree for each ejb
+ for (EnterpriseBeanInfo beanInfo : ejbJarInfo.enterpriseBeans) {
+ String ejbName = beanInfo.ejbName;
+
+ // Get the JAXB tree for the info object
+ EnterpriseBean enterpriseBean = beanData.get(ejbName);
+
+ // Get the OpenEJB deployment
+ EjbDeployment ejbDeployment = ejbDeployments.get(ejbName);
+
+ // build the tree
+ initJndiReferences(enterpriseBean, ejbDeployment, beanInfo, jndiEncInfoBuilder);
+ }
+ }
+
+ private static void initJndiReferences(EnterpriseBean enterpriseBean, EjbDeployment ejbDeployment, EnterpriseBeanInfo beanInfo, JndiEncInfoBuilder jndiEncInfoBuilder) throws OpenEJBException {
+ // Link all the resource refs
+ List<ResourceRef> resourceRefs = enterpriseBean.getResourceRef();
+ for (ResourceRef res : resourceRefs) {
+ ResourceLink resourceLink = ejbDeployment.getResourceLink(res.getResRefName());
+ if (resourceLink != null && resourceLink.getResId() != null /* don't overwrite with null */) {
+ res.setResLink(resourceLink.getResId());
+ }
+ }
+
+ // Build the JNDI info tree for the EJB
+ JndiEncInfo jndi = jndiEncInfoBuilder.build(enterpriseBean, beanInfo.ejbName);
+ beanInfo.jndiEnc = jndi;
+ }
public static final Logger logger = Logger.getInstance("OpenEJB.startup", "org.apache.openejb.util.resources");
protected static final Messages messages = new Messages("org.apache.openejb.util.resources");
@@ -67,10 +145,8 @@
private final Map<String, EnterpriseBeanInfo> byEjbName = new HashMap<String, EnterpriseBeanInfo>();
private final Map<String, EnterpriseBeanInfo> byInterfaces = new HashMap<String, EnterpriseBeanInfo>();
- public JndiEncInfoBuilder(Collection<EnterpriseBeanInfo> ejbBeanInfos, String withoutThisConstructorsClash) {
- for (EnterpriseBeanInfo bean : ejbBeanInfos) {
- index(bean);
- }
+ public JndiEncInfoBuilder(EjbJarInfo... ejbJarInfos) {
+ this(Arrays.asList(ejbJarInfos));
}
public JndiEncInfoBuilder(Collection<EjbJarInfo> ejbJarInfos) {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java?view=diff&rev=522073&r1=522072&r2=522073
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateful/StatefulContainerTest.java Sat Mar 24 11:03:25 2007
@@ -24,6 +24,7 @@
import org.apache.openejb.jee.oejb3.EjbDeployment;
import org.apache.openejb.config.EjbModule;
import org.apache.openejb.config.EjbJarInfoBuilder;
+import org.apache.openejb.config.JndiEncInfoBuilder;
import org.apache.openejb.core.CoreDeploymentInfo;
import org.apache.openejb.ri.sp.PseudoTransactionService;
import org.apache.openejb.ri.sp.PseudoSecurityService;
@@ -135,8 +136,9 @@
}
protected void setUp() throws Exception {
- // Setup the descriptor information
+ super.setUp();
+ // Setup the descriptor information
StatefulBean bean = new StatefulBean("widget", WidgetBean.class.getName());
bean.setBusinessLocal(Widget.class.getName());
bean.setBusinessRemote(RemoteWidget.class.getName());
@@ -161,9 +163,8 @@
PseudoSecurityService securityService = new PseudoSecurityService();
SystemInstance.get().setComponent(SecurityService.class, securityService);
-
// Create the Container
- container = new StatefulContainer("Stateful Container", transactionManager, securityService,null, 10, 0, 1);
+ container = new StatefulContainer("Stateful Container", transactionManager, securityService, null, 10, 0, 1);
Properties props = new Properties();
props.put(container.getContainerID(), container);
@@ -188,10 +189,14 @@
return sb.toString();
}
- private HashMap<String, DeploymentInfo> build(Properties props, EjbModule jar) throws OpenEJBException {
+ private HashMap<String, DeploymentInfo> build(Properties props, EjbModule ejbModule) throws OpenEJBException {
EjbJarInfoBuilder infoBuilder = new EjbJarInfoBuilder();
+ EjbJarInfo jarInfo = infoBuilder.buildInfo(ejbModule);
+
+ // Process JNDI refs
+ JndiEncInfoBuilder.initJndiReferences(ejbModule, jarInfo);
+
EjbJarBuilder builder = new EjbJarBuilder(props, this.getClass().getClassLoader());
- EjbJarInfo jarInfo = infoBuilder.buildInfo(jar);
HashMap<String, DeploymentInfo> ejbs = builder.build(jarInfo,null);
return ejbs;
}
@@ -210,11 +215,12 @@
}
public static class WidgetBean implements Widget, RemoteWidget, Serializable {
+ private static final long serialVersionUID = -8499745487520955081L;
private int activates = 0;
private int passivates = 0;
- public static Stack<Lifecycle> lifecycle = new Stack();
+ public static Stack<Lifecycle> lifecycle = new Stack<Lifecycle>();
public WidgetBean() {
lifecycle.push(Lifecycle.CONSTRUCTOR);
@@ -229,11 +235,11 @@
}
public void activate(){
- lifecycle.push((Lifecycle) Enum.valueOf(Lifecycle.class, "POST_ACTIVATE" + (++activates)));
+ lifecycle.push(Enum.valueOf(Lifecycle.class, "POST_ACTIVATE" + (++activates)));
}
public void passivate(){
- lifecycle.push((Lifecycle) Enum.valueOf(Lifecycle.class, "PRE_PASSIVATE" + (++passivates)));
+ lifecycle.push(Enum.valueOf(Lifecycle.class, "PRE_PASSIVATE" + (++passivates)));
}
public void init() {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ExtendedInjectionTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ExtendedInjectionTest.java?view=diff&rev=522073&r1=522072&r2=522073
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ExtendedInjectionTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/ExtendedInjectionTest.java Sat Mar 24 11:03:25 2007
@@ -29,6 +29,7 @@
import org.apache.openejb.ri.sp.PseudoSecurityService;
import org.apache.openejb.config.EjbModule;
import org.apache.openejb.config.EjbJarInfoBuilder;
+import org.apache.openejb.config.JndiEncInfoBuilder;
import org.apache.openejb.jee.StatelessBean;
import org.apache.openejb.jee.EjbJar;
import org.apache.openejb.jee.EnvEntry;
@@ -37,10 +38,6 @@
import org.apache.openejb.jee.oejb3.EjbDeployment;
import org.apache.openejb.core.CoreDeploymentInfo;
-import javax.ejb.SessionContext;
-import java.util.Stack;
-import java.util.List;
-import java.util.Arrays;
import java.util.Properties;
import java.util.HashMap;
import java.net.URL;
@@ -49,7 +46,6 @@
* @version $Revision: 500061 $ $Date: 2007-01-25 15:47:53 -0800 (Thu, 25 Jan 2007) $
*/
public class ExtendedInjectionTest extends TestCase {
- private StatelessContainer container;
private DeploymentInfo deploymentInfo;
public void testBusinessLocalInterface() throws Exception {
@@ -93,6 +89,7 @@
}
protected void setUp() throws Exception {
+ super.setUp();
StatelessBean bean = new StatelessBean("widget", WidgetBean.class.getName());
bean.setBusinessLocal(Widget.class.getName());
bean.setBusinessRemote(RemoteWidget.class.getName());
@@ -112,7 +109,7 @@
PseudoTransactionService transactionManager = new PseudoTransactionService();
PseudoSecurityService securityService = new PseudoSecurityService();
SystemInstance.get().setComponent(SecurityService.class, securityService);
- container = new StatelessContainer("Stateless Container", transactionManager, securityService, 10, 0, false);
+ StatelessContainer container = new StatelessContainer("Stateless Container", transactionManager, securityService, 10, 0, false);
Properties props = new Properties();
props.put(container.getContainerID(), container);
@@ -124,18 +121,14 @@
}
- private static String join(String delimeter, List items) {
- StringBuffer sb = new StringBuffer();
- for (Object item : items) {
- sb.append(item.toString()).append(delimeter);
- }
- return sb.toString();
- }
-
- private HashMap<String, DeploymentInfo> build(Properties props, EjbModule jar) throws OpenEJBException {
+ private HashMap<String, DeploymentInfo> build(Properties props, EjbModule ejbModule) throws OpenEJBException {
EjbJarInfoBuilder infoBuilder = new EjbJarInfoBuilder();
+ EjbJarInfo jarInfo = infoBuilder.buildInfo(ejbModule);
+
+ // Process JNDI refs
+ JndiEncInfoBuilder.initJndiReferences(ejbModule, jarInfo);
+
EjbJarBuilder builder = new EjbJarBuilder(props, this.getClass().getClassLoader());
- EjbJarInfo jarInfo = infoBuilder.buildInfo(jar);
HashMap<String, DeploymentInfo> ejbs = builder.build(jarInfo,null);
return ejbs;
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java?view=diff&rev=522073&r1=522072&r2=522073
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/stateless/StatelessContainerTest.java Sat Mar 24 11:03:25 2007
@@ -27,6 +27,7 @@
import org.apache.openejb.core.CoreDeploymentInfo;
import org.apache.openejb.config.EjbModule;
import org.apache.openejb.config.EjbJarInfoBuilder;
+import org.apache.openejb.config.JndiEncInfoBuilder;
import org.apache.openejb.jee.oejb3.EjbDeployment;
import org.apache.openejb.jee.oejb3.OpenejbJar;
import org.apache.openejb.assembler.classic.EjbJarBuilder;
@@ -110,6 +111,7 @@
}
protected void setUp() throws Exception {
+ super.setUp();
StatelessBean bean = new StatelessBean("widget", WidgetBean.class.getName());
bean.setBusinessLocal(Widget.class.getName());
bean.setBusinessRemote(RemoteWidget.class.getName());
@@ -148,10 +150,14 @@
return sb.toString();
}
- private HashMap<String, DeploymentInfo> build(Properties props, EjbModule jar) throws OpenEJBException {
+ private HashMap<String, DeploymentInfo> build(Properties props, EjbModule ejbModule) throws OpenEJBException {
EjbJarInfoBuilder infoBuilder = new EjbJarInfoBuilder();
+ EjbJarInfo jarInfo = infoBuilder.buildInfo(ejbModule);
+
+ // Process JNDI refs
+ JndiEncInfoBuilder.initJndiReferences(ejbModule, jarInfo);
+
EjbJarBuilder builder = new EjbJarBuilder(props, this.getClass().getClassLoader());
- EjbJarInfo jarInfo = infoBuilder.buildInfo(jar);
HashMap<String, DeploymentInfo> ejbs = builder.build(jarInfo,null);
return ejbs;
}
@@ -170,7 +176,7 @@
public static class WidgetBean implements Widget, RemoteWidget {
- private static Stack<Lifecycle> lifecycle = new Stack();
+ private static Stack<Lifecycle> lifecycle = new Stack<Lifecycle>();
public WidgetBean() {
lifecycle.push(Lifecycle.CONSTRUCTOR);
Modified: incubator/openejb/trunk/openejb3/container/openejb-javaagent/pom.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-javaagent/pom.xml?view=diff&rev=522073&r1=522072&r2=522073
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-javaagent/pom.xml (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-javaagent/pom.xml Sat Mar 24 11:03:25 2007
@@ -49,4 +49,12 @@
</plugin>
</plugins>
</build>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
</project>