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);
+ }
}