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/16 18:44:30 UTC
svn commit: r910616 -
/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/MetamodelImpl.java
Author: ppoddar
Date: Tue Feb 16 17:44:30 2010
New Revision: 910616
URL: http://svn.apache.org/viewvc?rev=910616&view=rev
Log:
OPENJPA-1503:Metamodel reflection with security manager
Modified:
openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/MetamodelImpl.java
Modified: openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/MetamodelImpl.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/MetamodelImpl.java?rev=910616&r1=910615&r2=910616&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/MetamodelImpl.java (original)
+++ openjpa/trunk/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/meta/MetamodelImpl.java Tue Feb 16 17:44:30 2010
@@ -27,6 +27,7 @@
import java.lang.reflect.Field;
import java.lang.reflect.GenericArrayType;
import java.lang.reflect.ParameterizedType;
+import java.security.AccessController;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -51,6 +52,7 @@
import org.apache.openjpa.kernel.exps.AggregateListener;
import org.apache.openjpa.kernel.exps.FilterListener;
import org.apache.openjpa.kernel.exps.Resolver;
+import org.apache.openjpa.lib.util.J2DoPrivHelper;
import org.apache.openjpa.lib.util.Localizer;
import org.apache.openjpa.meta.ClassMetaData;
import org.apache.openjpa.meta.FieldMetaData;
@@ -302,7 +304,7 @@
mcls.getName(), cls.getName(), anno.value()).getMessage());
}
- Field[] mfields = mcls.getDeclaredFields();
+ Field[] mfields = AccessController.doPrivileged(J2DoPrivHelper.getDeclaredFieldsAction(mcls));
for (Field mf : mfields) {
try {
ParameterizedType mfType = getParameterziedType(mf);