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 2013/03/05 17:09:22 UTC

svn commit: r1452872 - /openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java

Author: curtisr7
Date: Tue Mar  5 16:09:21 2013
New Revision: 1452872

URL: http://svn.apache.org/r1452872
Log:
OPENJPA-2346: Minor performance improvement to MetaDataRepository. 

Modified:
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java

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=1452872&r1=1452871&r2=1452872&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 Tue Mar  5 16:09:21 2013
@@ -39,8 +39,8 @@ import org.apache.openjpa.conf.OpenJPACo
 import org.apache.openjpa.enhance.DynamicPersistenceCapable;
 import org.apache.openjpa.enhance.PCEnhancer;
 import org.apache.openjpa.enhance.PCRegistry;
-import org.apache.openjpa.enhance.PersistenceCapable;
 import org.apache.openjpa.enhance.PCRegistry.RegisterClassListener;
+import org.apache.openjpa.enhance.PersistenceCapable;
 import org.apache.openjpa.event.LifecycleEventManager;
 import org.apache.openjpa.lib.conf.Configurable;
 import org.apache.openjpa.lib.conf.Configuration;
@@ -394,6 +394,8 @@ public class MetaDataRepository implemen
     }
 
     private ClassMetaData getMetaDataInternal(Class<?> cls, ClassLoader envLoader, boolean mustExist) {
+        ClassMetaData meta = getMetaDataInternal(cls, envLoader);
+        if (meta == null) {
             if (cls != null && DynamicPersistenceCapable.class.isAssignableFrom(cls))
                 cls = cls.getSuperclass();
 
@@ -401,20 +403,20 @@ public class MetaDataRepository implemen
             // to locate metadata
             if (cls != null && _implGen != null && _implGen.isImplType(cls))
                 cls = _implGen.toManagedInterface(cls);
+            meta = getMetaDataInternal(cls, envLoader);
+        }
+        if (meta == null && mustExist) {
+            if (cls != null && !ImplHelper.isManagedType(_conf, cls))
+                throw new MetaDataException(_loc.get("no-meta-notpc", cls)).setFatal(false);
 
-            ClassMetaData meta = getMetaDataInternal(cls, envLoader);
-            if (meta == null && mustExist) {
-                if (cls != null && !ImplHelper.isManagedType(_conf, cls))
-                    throw new MetaDataException(_loc.get("no-meta-notpc", cls)).setFatal(false);
-
-                Set<String> pcNames = getPersistentTypeNames(false, envLoader);
-                if (pcNames != null && pcNames.size() > 0)
-                    throw new MetaDataException(_loc.get("no-meta-types", cls, pcNames));
+            Set<String> pcNames = getPersistentTypeNames(false, envLoader);
+            if (pcNames != null && pcNames.size() > 0)
+                throw new MetaDataException(_loc.get("no-meta-types", cls, pcNames));
 
-                throw new MetaDataException(_loc.get("no-meta", cls));
-            }
-            resolve(meta);
-            return meta;
+            throw new MetaDataException(_loc.get("no-meta", cls));
+        }
+        resolve(meta);
+        return meta;
     }
 
     /**
@@ -1920,8 +1922,8 @@ public class MetaDataRepository implemen
 
     public void endConfiguration() {
         initializeMetaDataFactory();
-        if (_implGen == null)
-            _implGen = new InterfaceImplGenerator(this);
+		if (_implGen == null)
+			_implGen = new InterfaceImplGenerator(this);
         if (_preload == true) {
             _oids = new HashMap<Class<?>, Class<?>>();
             _impls = new HashMap<Class<?>, Collection<Class<?>>>();