openjpa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dwo...@apache.org
Subject svn commit: r920437 - /openjpa/branches/1.3.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/TemporaryClassLoader.java
Date Mon, 08 Mar 2010 18:30:43 GMT
Author: dwoods
Date: Mon Mar  8 18:30:43 2010
New Revision: 920437

URL: http://svn.apache.org/viewvc?rev=920437&view=rev
Log:
OPENJPA-1121 Enums cause a ClassNotFoundException in the MappingTool.  Merged in from trunk.
 Original patch from Frank Schwarz.

Modified:
    openjpa/branches/1.3.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/TemporaryClassLoader.java

Modified: openjpa/branches/1.3.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/TemporaryClassLoader.java
URL: http://svn.apache.org/viewvc/openjpa/branches/1.3.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/TemporaryClassLoader.java?rev=920437&r1=920436&r2=920437&view=diff
==============================================================================
--- openjpa/branches/1.3.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/TemporaryClassLoader.java
(original)
+++ openjpa/branches/1.3.x/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/TemporaryClassLoader.java
Mon Mar  8 18:30:43 2010
@@ -73,9 +73,15 @@
             // To avoid classloader issues with the JVM (Sun and IBM), we
             // will not load Enums via the TemporaryClassLoader either.
             // Reference JIRA Issue OPENJPA-646 for more information.
-            if (isAnnotation(classBytes) || isEnum(classBytes))
-                return Class.forName(name, resolve, getClass().
-                    getClassLoader());
+            if (isAnnotation(classBytes) || isEnum(classBytes)) {
+                try {
+                    Class<?> frameworkClass = Class.forName(name, resolve,
+                            getClass().getClassLoader());
+                    return frameworkClass;
+                } catch (ClassNotFoundException e) {
+                    // OPENJPA-1121 continue, as it must be a user-defined class
+                }
+            }
 
             try {
                 return defineClass(name, classBytes, 0, classBytes.length);



Mime
View raw message