Author: dblevins
Date: Sat Jun 21 17:53:21 2008
New Revision: 670280
URL: http://svn.apache.org/viewvc?rev=670280&view=rev
Log:
Don't automatically create a "ProxyFactory" on boot
Tests to check for case insensitive resource name matching
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/AutoConfigTest.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=670280&r1=670279&r2=670280&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
Sat Jun 21 17:53:21 2008
@@ -314,15 +314,10 @@
ContainerSystemInfo containerSystemInfo = configInfo.containerSystem;
- /*[1] Assemble ProxyFactory //////////////////////////////////////////
- This operation must take place first because of interdependencies.
- As DeploymentInfo objects are registered with the ContainerSystem
using the
- ContainerSystem.addDeploymentInfo() method, they are also added to
the JNDI
- Naming Service for OpenEJB. This requires that a proxy for the
deployed bean's
- EJBHome be created. The proxy requires that the default proxy
factory is set.
- */
- createProxyFactory(configInfo.facilities.intraVmServer);
+ if (configInfo.facilities.intraVmServer != null) {
+ createProxyFactory(configInfo.facilities.intraVmServer);
+ }
for (JndiContextInfo contextInfo :
configInfo.facilities.remoteJndiContexts) {
createExternalContext(contextInfo);
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=670280&r1=670279&r2=670280&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
Sat Jun 21 17:53:21 2008
@@ -298,7 +298,9 @@
// ConnectionManagerInfo service =
configureService(openejb.getConnectionManager(), ConnectionManagerInfo.class);
// sys.facilities.connectionManagers.add(service);
- sys.facilities.intraVmServer =
configureService(openejb.getProxyFactory(), ProxyFactoryInfo.class);
+ if (openejb.getProxyFactory() != null){
+ sys.facilities.intraVmServer =
configureService(openejb.getProxyFactory(), ProxyFactoryInfo.class);
+ }
for (Container declaration : openejb.getContainer()) {
Class<? extends ContainerInfo> infoClass =
getContainerInfoType(declaration.getType());
Modified:
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/AutoConfigTest.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/AutoConfigTest.java?rev=670280&r1=670279&r2=670280&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/AutoConfigTest.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/config/AutoConfigTest.java
Sat Jun 21 17:53:21 2008
@@ -80,6 +80,48 @@
}
+ public void testCaseInsensitive() throws Exception {
+
+ System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY,
InitContextFactory.class.getName());
+
+ ConfigurationFactory config = new ConfigurationFactory();
+ Assembler assembler = new Assembler();
+
+
assembler.createProxyFactory(config.configureService(ProxyFactoryInfo.class));
+
assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
+
assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
+
+ assembler.createResource(config.configureService(new
org.apache.openejb.config.sys.Resource("DeFAultDataSource", "DataSource",
null), ResourceInfo.class));
+ assembler.createResource(config.configureService(new
org.apache.openejb.config.sys.Resource("YeLLowDataSource", "DataSource", null),
ResourceInfo.class));
+ assembler.createResource(config.configureService(new
org.apache.openejb.config.sys.Resource("PurpLEDataSource", "DataSource", null),
ResourceInfo.class));
+
+ EjbJar ejbJar = new EjbJar();
+ ejbJar.addEnterpriseBean(new StatelessBean(WidgetBean.class));
+
+ EjbJarInfo ejbJarInfo = config.configureApplication(ejbJar);
+
+ EnterpriseBeanInfo beanInfo = ejbJarInfo.enterpriseBeans.get(0);
+
+ Map<String, ResourceReferenceInfo> refs = new HashMap<String,
ResourceReferenceInfo>();
+ for (ResourceReferenceInfo ref : beanInfo.jndiEnc.resourceRefs) {
+ refs.put(ref.referenceName.replaceAll(".*/", ""), ref);
+ }
+
+ ResourceReferenceInfo info;
+ info = refs.get("yellowDataSource");
+ assertNotNull(info);
+ assertEquals("YeLLowDataSource", info.resourceID);
+
+ info = refs.get("orangeDataSource");
+ assertNotNull(info);
+ assertEquals("DeFAultDataSource", info.resourceID);
+
+ info = refs.get("purpleDataSource");
+ assertNotNull(info);
+ assertEquals("PurpLEDataSource", info.resourceID);
+
+ }
+
public static interface Widget {
}