You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pp...@apache.org on 2010/02/09 22:13:45 UTC

svn commit: r908225 - in /openjpa/trunk: openjpa-kernel/src/main/java/org/apache/openjpa/meta/MetaDataRepository.java openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestSimpleXmlEntity.java

Author: ppoddar
Date: Tue Feb  9 21:13:44 2010
New Revision: 908225

URL: http://svn.apache.org/viewvc?rev=908225&view=rev
Log:
OPENJPA-1503: Use AccessController to load metamodel class.

Modified:
    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/xml/TestSimpleXmlEntity.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=908225&r1=908224&r2=908225&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 Feb  9 21:13:44 2010
@@ -1837,7 +1837,8 @@
             return _metamodel.get(entity);
         String m2 = _factory.getMetaModelClassName(entity.getName());
         try {
-            Class<?> m2cls = J2DoPrivHelper.getForNameAction(m2, true, entity.getClassLoader()).run();
+            Class<?> m2cls = AccessController.doPrivileged(
+                    J2DoPrivHelper.getForNameAction(m2, true, entity.getClassLoader()));
             _metamodel.put(entity, m2cls);
             return m2cls;
         } catch (Throwable t) {

Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestSimpleXmlEntity.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestSimpleXmlEntity.java?rev=908225&r1=908224&r2=908225&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestSimpleXmlEntity.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xml/TestSimpleXmlEntity.java Tue Feb  9 21:13:44 2010
@@ -59,8 +59,7 @@
             fail("should not be able to execute query using short class name " +
                 "for entity that has an entity name specified");
         } catch (ArgumentException ae) {
-            assertTrue(
-                ae.getMessage().indexOf("Perhaps you meant SimpleXml,") != -1);
+            assertMarkerInErrorMessage(ae, "The name \"SimpleXmlEntity\" is not a recognized entity");
         }
     }
 
@@ -74,8 +73,16 @@
             fail("should not be able to execute query using short class name " +
                 "for entity that has an entity name specified");
         } catch (ArgumentException ae) {
-            assertTrue(
-                ae.getMessage().indexOf("Perhaps you meant SimpleXml,") != -1);
+            assertMarkerInErrorMessage(ae, "The name \"SimpleXmlEntity\" is not a recognized entity");
         }
     }
+    
+    /**
+     * Asserts that the given marker string appears in the error message.
+     * Not a kosher way to verify -- but ...
+     */
+    void assertMarkerInErrorMessage(Exception ex, String marker) {
+        String message = ex.getMessage();
+        assertTrue("Can not find [" + marker + "] in the message [" + message + "]", message.indexOf(marker) != -1);
+    }
 }