Author: tveronezi Date: Wed Mar 23 02:44:59 2011 New Revision: 1084464 URL: http://svn.apache.org/viewvc?rev=1084464&view=rev Log: This is a continuation of the work started here (http://svn.apache.org/viewvc?view=revision&revision=1081644), here (http://svn.apache.org/viewvc?view=revision&revision=1083280) and here (http://svn.apache.org/viewvc?view=revision&revision=1084042).
Changes: • /openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java: same as http://svn.apache.org/viewvc?view=revision&revision=997956 • /openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/AmqXmlTest.java: same as http://svn.apache.org/viewvc?view=revision&revision=997688 • /openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/UnenhancedTest.java: same as http://svn.apache.org/viewvc?view=revision&revision=997713 All the junit tests are running. :O) Modified: openejb/branches/openejb-3.2.x/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/UnenhancedTest.java openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/AmqXmlTest.java Modified: openejb/branches/openejb-3.2.x/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java?rev=1084464&r1=1084463&r2=1084464&view=diff ============================================================================== --- openejb/branches/openejb-3.2.x/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java (original) +++ openejb/branches/openejb-3.2.x/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java Wed Mar 23 02:44:59 2011 @@ -35,6 +35,7 @@ import org.apache.openejb.OpenEJBExcepti import org.apache.openejb.config.sys.Resource; import org.apache.openejb.config.sys.ServiceProvider; import org.apache.openejb.config.sys.Container; +import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.util.Logger; import org.apache.openejb.util.LogCategory; import org.apache.openejb.util.Messages; @@ -496,10 +497,10 @@ class AppInfoBuilder { info.jarFiles.addAll(persistenceUnit.getJarFile()); info.classes.addAll(persistenceUnit.getClazz()); info.mappingFiles.addAll(persistenceUnit.getMappingFile()); - + info.persistenceXMLSchemaVersion = persistence.getVersion(); info.sharedCacheMode = persistenceUnit.getSharedCacheMode().toString(); - info.validationMode = persistenceUnit.getValidationMode().toString(); + info.validationMode = persistenceUnit.getValidationMode().toString(); // Handle Properties info.properties.putAll(persistenceUnit.getProperties()); @@ -561,7 +562,7 @@ class AppInfoBuilder { info.properties.setProperty(lookupProperty, openejbLookupClass); logger.debug("Adjusting PersistenceUnit(name="+info.name+") property to "+lookupProperty+"="+openejbLookupClass); } - } else if ("org.eclipse.persistence.jpa.PersistenceProvider".equals(info.provider) || "org.eclipse.persistence.jpa.osgi.PersistenceProvider".equals(info.provider)){ + } else if ("org.eclipse.persistence.jpa.PersistenceProvider".equals(info.provider) || "org.eclipse.persistence.jpa.osgi.PersistenceProvider".equals(info.provider)){ String lookupProperty = "eclipselink.target-server"; String openejbLookupClass = MakeTxLookup.ECLIPSELINK_FACTORY; @@ -572,13 +573,21 @@ class AppInfoBuilder { info.properties.setProperty(lookupProperty, openejbLookupClass); logger.debug("Adjusting PersistenceUnit(name="+info.name+") property to "+lookupProperty+"="+openejbLookupClass); } + } else if (info.provider == null || "org.apache.openjpa.persistence.PersistenceProviderImpl".equals(info.provider)){ + + String property = "openjpa.RuntimeUnenhancedClasses"; + String value = "supported"; + + String existing = info.properties.getProperty(property); - final Set<Object> keys = new HashSet<Object>(info.properties.keySet()); - for (Object key : keys) { - if (!(key instanceof String)) continue; + if (existing == null){ + info.properties.setProperty(property, value); + logger.debug("Adjusting PersistenceUnit(name="+info.name+") property to "+property+"="+value); + } - String s = (String) key; - if (s.matches("openjpa.Connection(DriverName|URL|UserName|Password)")) { + final Set<String> keys = new HashSet<String>(info.properties.stringPropertyNames()); + for (String key : keys) { + if (key.matches("openjpa.Connection(DriverName|URL|UserName|Password)")) { final Object o = info.properties.remove(key); logger.warning("Removing PersistenceUnit(name=" + info.name + ") property " + key + "=" + o + " [not valid in a container environment]"); } @@ -641,29 +650,29 @@ class AppInfoBuilder { } void configureWebserviceSecurity(WebAppInfo info, WebModule module) { - // no security to configure for WebModule + // no security to configure for WebModule // --> this method should be removed } - + /* * left package-local for a unit test */ void configureWebserviceSecurity(EjbJarInfo ejbJarInfo, EjbModule ejbModule) { Object altDD = ejbModule.getOpenejbJar(); List<PortInfo> infoList = ejbJarInfo.portInfos; - + configureWebserviceScurity(infoList, altDD); } - + private void configureWebserviceScurity(List<PortInfo> infoList, Object altDD) { if (altDD == null || (! (altDD instanceof OpenejbJar))) return; - + OpenejbJar openejbJar = (OpenejbJar) altDD; Map<String, EjbDeployment> deploymentsByEjbName = openejbJar.getDeploymentsByEjbName(); - + for (PortInfo portInfo : infoList) { EjbDeployment deployment = deploymentsByEjbName.get(portInfo.serviceLink); - + if (deployment == null) continue; portInfo.realmName = deployment.getProperties().getProperty("webservice.security.realm"); portInfo.securityRealmName = deployment.getProperties().getProperty("webservice.security.securityRealm"); @@ -681,9 +690,9 @@ class AppInfoBuilder { portInfo.properties = deployment.getProperties(); } } - + private static boolean skipMdb(EnterpriseBeanInfo bean) { - return bean instanceof MessageDrivenBeanInfo && System.getProperty("duct tape") != null; + return bean instanceof MessageDrivenBeanInfo && SystemInstance.get().hasProperty("openejb.geronimo"); } } Modified: openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/UnenhancedTest.java URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/UnenhancedTest.java?rev=1084464&r1=1084463&r2=1084464&view=diff ============================================================================== --- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/UnenhancedTest.java (original) +++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/UnenhancedTest.java Wed Mar 23 02:44:59 2011 @@ -225,7 +225,8 @@ public class UnenhancedTest extends Test // Handle Properties Properties properties = new Properties(); properties.setProperty("openjpa.jdbc.SynchronizeMappings", "buildSchema(SchemaAction='add,deleteTableContents',ForeignKeys=true)"); - properties.setProperty("openjpa.Log", "DefaultLevel=WARN"); + properties.setProperty("openjpa.RuntimeUnenhancedClasses", "supported"); + properties.setProperty("openjpa.Log", "DefaultLevel=INFO"); unitInfo.setProperties(properties); unitInfo.setTransactionType(transactionType); Modified: openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/AmqXmlTest.java URL: http://svn.apache.org/viewvc/openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/AmqXmlTest.java?rev=1084464&r1=1084463&r2=1084464&view=diff ============================================================================== --- openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/AmqXmlTest.java (original) +++ openejb/branches/openejb-3.2.x/container/openejb-core/src/test/java/org/apache/openejb/core/mdb/AmqXmlTest.java Wed Mar 23 02:44:59 2011 @@ -18,6 +18,18 @@ package org.apache.openejb.core.mdb; public class AmqXmlTest extends JmsProxyTest { + + @Override + protected void setUp() throws Exception { + super.setUp(); + } + + @Override + public void testProxy() throws Exception { + // TODO move so there is not a build time dependency on spring in the openejb-core module + } + + @Override protected String getBrokerXmlConfig() { // note activemq uses classpath xml loader return "xbean:org/apache/openejb/core/mdb/activemq.xml";
