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 {
     }
 


Reply via email to