You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by cu...@apache.org on 2012/06/06 15:10:52 UTC

svn commit: r1346874 - in /openjpa/trunk: openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ openjpa-kernel/src/main/java/org/apache/openjpa/meta/ openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/

Author: curtisr7
Date: Wed Jun  6 13:10:51 2012
New Revision: 1346874

URL: http://svn.apache.org/viewvc?rev=1346874&view=rev
Log:
OPENJPA-2209: Allow configuration of MetaDataRepository preloading with a lowercase property.

Modified:
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
    openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetaDataRepository.java

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java?rev=1346874&r1=1346873&r2=1346874&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java Wed Jun  6 13:10:51 2012
@@ -867,8 +867,7 @@ public abstract class AbstractBrokerFact
                 _conf.isConnectionFactoryModeManaged(), _conf.getConnectionRetainModeConstant(), false).close();
         }
         // Don't catch any exceptions here because we want to fail-fast if something bad happens when we're preloading.
-        Options o = Configurations.parseProperties(Configurations.getProperties(_conf.getMetaDataRepository()));
-        if (MetaDataRepository.needsPreload(o) == true) {
+        if (MetaDataRepository.needsPreload(_conf) == true) {
             MetaDataRepository mdr = _conf.getMetaDataRepositoryInstance();
             mdr.setValidate(MetaDataRepository.VALIDATE_RUNTIME, true);
             mdr.setResolve(MetaDataRepository.MODE_MAPPING_INIT, true);

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java?rev=1346874&r1=1346873&r2=1346874&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java Wed Jun  6 13:10:51 2012
@@ -44,6 +44,7 @@ import org.apache.openjpa.enhance.PCRegi
 import org.apache.openjpa.event.LifecycleEventManager;
 import org.apache.openjpa.lib.conf.Configurable;
 import org.apache.openjpa.lib.conf.Configuration;
+import org.apache.openjpa.lib.conf.Configurations;
 import org.apache.openjpa.lib.log.Log;
 import org.apache.openjpa.lib.util.Closeable;
 import org.apache.openjpa.lib.util.J2DoPrivHelper;
@@ -2460,8 +2461,11 @@ public class MetaDataRepository implemen
         return new XMLFieldMetaData(type, name);
     }
 
-    public static boolean needsPreload(Options o) {
-        if (o.getBooleanProperty(PRELOAD_STR) == true) {
+    public static boolean needsPreload(OpenJPAConfiguration conf) {
+        if (conf == null)
+            return false;
+        Options o = Configurations.parseProperties(Configurations.getProperties(conf.getMetaDataRepository()));
+        if (o.getBooleanProperty(PRELOAD_STR) == true || o.getBooleanProperty(PRELOAD_STR.toLowerCase()) == true) {
             return true;
         }
         return false;

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetaDataRepository.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetaDataRepository.java?rev=1346874&r1=1346873&r2=1346874&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetaDataRepository.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetaDataRepository.java Wed Jun  6 13:10:51 2012
@@ -21,6 +21,8 @@ package org.apache.openjpa.persistence.m
 import java.util.Collection;
 
 import org.apache.openjpa.enhance.PCRegistry;
+import org.apache.openjpa.lib.conf.Configurations;
+import org.apache.openjpa.lib.util.Options;
 import org.apache.openjpa.meta.ClassMetaData;
 import org.apache.openjpa.meta.MetaDataRepository;
 import org.apache.openjpa.meta.QueryMetaData;
@@ -98,4 +100,14 @@ public class TestMetaDataRepository exte
             closeEMF(emf);
         }
     }
+	
+    public void testPreloadConfiguration() {
+        OpenJPAEntityManagerFactorySPI emf = createNamedEMF(PU_NAME, "openjpa.MetaDataRepository", "preload=true");
+        assertTrue(MetaDataRepository.needsPreload(emf.getConfiguration()));
+        emf.close();
+
+        emf = createNamedEMF(PU_NAME, "openjpa.MetaDataRepository", "Preload=true");
+        assertTrue(MetaDataRepository.needsPreload(emf.getConfiguration()));
+        emf.close();
+    }
 }