openjpa-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jgras...@apache.org
Subject svn commit: r1333982 - in /openjpa/trunk: openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java
Date Fri, 04 May 2012 14:18:20 GMT
Author: jgrassel
Date: Fri May  4 14:18:19 2012
New Revision: 1333982

URL: http://svn.apache.org/viewvc?rev=1333982&view=rev
Log:
OPENJPA-2133: OpenJPA doesn't find custom mappings with an applicable class loader

Modified:
    openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java
    openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java

Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java?rev=1333982&r1=1333981&r2=1333982&view=diff
==============================================================================
--- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java
(original)
+++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingRepository.java
Fri May  4 14:18:19 2012
@@ -546,7 +546,7 @@ public class MappingRepository extends M
                 strat = JavaTypes.classForName(name, cls,
                     AccessController.doPrivileged(
                         J2DoPrivHelper.getClassLoaderAction(
-                            ClassStrategy.class)));
+                            ClassStrategy.class)), false);
             ClassStrategy strategy = 
                 (ClassStrategy) AccessController.doPrivileged(
                     J2DoPrivHelper.newInstanceAction(strat));
@@ -579,7 +579,7 @@ public class MappingRepository extends M
         try {
             Class<?> c = JavaTypes.classForName(name, field,
                 AccessController.doPrivileged(
-                    J2DoPrivHelper.getClassLoaderAction(FieldStrategy.class)));
+                    J2DoPrivHelper.getClassLoaderAction(FieldStrategy.class)), false);
             if (FieldStrategy.class.isAssignableFrom(c)) {
                 FieldStrategy strat = (FieldStrategy)
                     AccessController.doPrivileged(
@@ -653,7 +653,7 @@ public class MappingRepository extends M
                     discrim.getClassMapping(),
                     AccessController.doPrivileged(
                         J2DoPrivHelper.getClassLoaderAction(
-                            DiscriminatorStrategy.class)));
+                            DiscriminatorStrategy.class)), false);
             DiscriminatorStrategy strategy = (DiscriminatorStrategy)
                 AccessController.doPrivileged(
                     J2DoPrivHelper.newInstanceAction(strat));
@@ -719,7 +719,7 @@ public class MappingRepository extends M
                     version.getClassMapping(),
                     AccessController.doPrivileged(
                         J2DoPrivHelper.getClassLoaderAction(
-                            VersionStrategy.class)));
+                            VersionStrategy.class)), false);
         } catch (Exception e) {
             throw new MetaDataException(_loc.get("bad-version-strategy",
                 version.getClassMapping(), name), e);

Modified: openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java?rev=1333982&r1=1333981&r2=1333982&view=diff
==============================================================================
--- openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java (original)
+++ openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/meta/JavaTypes.java Fri
May  4 14:18:19 2012
@@ -186,6 +186,17 @@ public class JavaTypes {
         return classForName(name, context, context.getDescribedType(), null,
             loader);
     }
+    
+    /**
+     * Check the given name against the same set of standard packages used
+     * when parsing metadata.
+     * 
+     * @param mustExist Whether the supplied loader <b>must</b> be able to load
the class. If true no attempt to use a
+     * different classloader will be made. If false the ClassResolver from the configuration
will be used. 
+     */
+    public static Class<?> classForName(String name, ClassMetaData context, ClassLoader
loader, boolean mustExist) {
+        return classForName(name, context, context.getDescribedType(), null, loader, mustExist);
+    }
 
     /**
      * Check the given name against the same set of standard packages used



Mime
View raw message