From 4cc061e5dc19c60f76468f43aed7436026a73c01 Mon Sep 17 00:00:00 2001 From: Albert Lee Date: Tue, 2 Oct 2007 19:21:50 +0000 Subject: [PATCH] OPENJPA-369, apply same changes in trunk to the 1.0.x branch. git-svn-id: https://svn.apache.org/repos/asf/openjpa/branches/1.0.x@581356 13f79535-47bb-0310-9956-ffa450edef68 --- openjpa-kernel-5/pom.xml | 6 ++ openjpa-lib-5/pom.xml | 55 +++++++++++ .../openjpa/lib/util/J2DoPriv5Helper.java | 92 +++++++++++++++++++ .../openjpa/lib/util/J2DoPrivHelper.java | 58 ------------ .../AnnotationPersistenceMappingParser.java | 4 +- .../AnnotationPersistenceMetaDataParser.java | 27 +++--- ...nnotationPersistenceXMLMetaDataParser.java | 10 +- .../PersistenceMetaDataDefaults.java | 16 ++-- .../PersistenceMetaDataFactory.java | 18 ++-- pom.xml | 1 + 10 files changed, 192 insertions(+), 95 deletions(-) create mode 100644 openjpa-lib-5/pom.xml create mode 100644 openjpa-lib-5/src/main/java/org/apache/openjpa/lib/util/J2DoPriv5Helper.java diff --git a/openjpa-kernel-5/pom.xml b/openjpa-kernel-5/pom.xml index 04e559edc..315736ca8 100644 --- a/openjpa-kernel-5/pom.xml +++ b/openjpa-kernel-5/pom.xml @@ -39,6 +39,12 @@ ${pom.version} compile + + org.apache.openjpa + openjpa-lib-5 + ${pom.version} + compile + diff --git a/openjpa-lib-5/pom.xml b/openjpa-lib-5/pom.xml new file mode 100644 index 000000000..6f29d9321 --- /dev/null +++ b/openjpa-lib-5/pom.xml @@ -0,0 +1,55 @@ + + + + 4.0.0 + org.apache.openjpa + openjpa-lib-5 + jar + OpenJPA Utilities 1.5 + OpenJPA Utilities 1.5 + http://openjpa.apache.org + + org.apache.openjpa + openjpa-parent + 1.0.1-SNAPSHOT + + + + org.apache.openjpa + openjpa-lib + ${pom.version} + compile + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + + diff --git a/openjpa-lib-5/src/main/java/org/apache/openjpa/lib/util/J2DoPriv5Helper.java b/openjpa-lib-5/src/main/java/org/apache/openjpa/lib/util/J2DoPriv5Helper.java new file mode 100644 index 000000000..cf42913f3 --- /dev/null +++ b/openjpa-lib-5/src/main/java/org/apache/openjpa/lib/util/J2DoPriv5Helper.java @@ -0,0 +1,92 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.openjpa.lib.util; + +import java.lang.reflect.AnnotatedElement; +import java.security.PrivilegedAction; + +/** + * Helper class to obtain the Privilege(Exception)Action object to perform + * Java 2 doPrivilege security sensitive function call in the following + * methods: + *
    + *
  • AnnotatedElement.getAnnotations + *
  • AnnotatedElement.getDeclaredAnnotations + *
  • AnnotatedElement.isAnnotationPresent + *
+ * + * @author Albert Lee + */ + +public abstract class J2DoPriv5Helper extends J2DoPrivHelper { + + /** + * Return a PrivilegeAction object for AnnotatedElement.getAnnotations(). + * + * Requires security policy: + * 'permission java.lang.RuntimePermission "accessDeclaredMembers";' + * + * @return Annotation[] + */ + public static final PrivilegedAction getAnnotationsAction( + final AnnotatedElement element) { + return new PrivilegedAction() { + public Object run() { + return element.getAnnotations(); + } + }; + } + + /** + * Return a PrivilegeAction object for + * AnnotatedElement.getDeclaredAnnotations(). + * + * Requires security policy: + * 'permission java.lang.RuntimePermission "accessDeclaredMembers";' + * + * @return Annotation[] + */ + public static final PrivilegedAction getDeclaredAnnotationsAction( + final AnnotatedElement element) { + return new PrivilegedAction() { + public Object run() { + return element.getDeclaredAnnotations(); + } + }; + } + + /** + * Return a PrivilegeAction object for + * AnnotatedElement.isAnnotationPresent(). + * + * Requires security policy: + * 'permission java.lang.RuntimePermission "accessDeclaredMembers";' + * + * @return Boolean + */ + public static final PrivilegedAction isAnnotationPresentAction( + final AnnotatedElement element, final Class annotationClazz) { + return new PrivilegedAction() { + public Object run() { + return element.isAnnotationPresent(annotationClazz) + ? Boolean.TRUE : Boolean.FALSE; + } + }; + } +} diff --git a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/J2DoPrivHelper.java b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/J2DoPrivHelper.java index 391178578..a9d9b4286 100644 --- a/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/J2DoPrivHelper.java +++ b/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/J2DoPrivHelper.java @@ -24,7 +24,6 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.lang.reflect.AccessibleObject; -import java.lang.reflect.AnnotatedElement; import java.net.InetAddress; import java.net.MalformedURLException; import java.net.ServerSocket; @@ -49,9 +48,6 @@ import serp.bytecode.Project; * methods: *
    *
  • AccessibleObject.setAccessible - *
  • AnnotatedElement.getAnnotations - *
  • AnnotatedElement.getDeclaredAnnotations - *
  • AnnotatedElement.isAnnotationPresent *
  • Class.forName *
  • Class.getClassLoader *
  • Class.getDeclaredField @@ -328,60 +324,6 @@ public abstract class J2DoPrivHelper { }; } - /** - * Return a PrivilegeAction object for AnnotatedElement.getAnnotations(). - * - * Requires security policy: - * 'permission java.lang.RuntimePermission "accessDeclaredMembers";' - * - * @return Annotation[] - */ - public static final PrivilegedAction getAnnotationsAction( - final AnnotatedElement element) { - return new PrivilegedAction() { - public Object run() { - return element.getAnnotations(); - } - }; - } - - /** - * Return a PrivilegeAction object for - * AnnotatedElement.getDeclaredAnnotations(). - * - * Requires security policy: - * 'permission java.lang.RuntimePermission "accessDeclaredMembers";' - * - * @return Annotation[] - */ - public static final PrivilegedAction getDeclaredAnnotationsAction( - final AnnotatedElement element) { - return new PrivilegedAction() { - public Object run() { - return element.getDeclaredAnnotations(); - } - }; - } - - /** - * Return a PrivilegeAction object for - * AnnotatedElement.isAnnotationPresent(). - * - * Requires security policy: - * 'permission java.lang.RuntimePermission "accessDeclaredMembers";' - * - * @return Boolean - */ - public static final PrivilegedAction isAnnotationPresentAction( - final AnnotatedElement element, final Class annotationClazz) { - return new PrivilegedAction() { - public Object run() { - return element.isAnnotationPresent(annotationClazz) - ? Boolean.TRUE : Boolean.FALSE; - } - }; - } - /** * Return a PrivilegedExceptionAction object for clazz.newInstance(). * diff --git a/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java b/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java index 747c9fdb3..37a6d22ae 100644 --- a/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java +++ b/openjpa-persistence-jdbc/src/main/java/org/apache/openjpa/persistence/jdbc/AnnotationPersistenceMappingParser.java @@ -75,7 +75,7 @@ import org.apache.openjpa.jdbc.schema.Column; import org.apache.openjpa.jdbc.schema.Unique; import org.apache.openjpa.jdbc.sql.DBDictionary; import org.apache.openjpa.lib.log.Log; -import org.apache.openjpa.lib.util.J2DoPrivHelper; +import org.apache.openjpa.lib.util.J2DoPriv5Helper; import org.apache.openjpa.lib.util.Localizer; import org.apache.openjpa.meta.ClassMetaData; import org.apache.openjpa.meta.FieldMetaData; @@ -1060,7 +1060,7 @@ public class AnnotationPersistenceMappingParser if (xmlTypeClass != null && StringUtils.isEmpty(pcols[i].columnDefinition()) - && ((Boolean) AccessController.doPrivileged(J2DoPrivHelper + && ((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(fm.getDeclaredType(), xmlTypeClass))).booleanValue()) { DBDictionary dict = ((MappingRepository) getRepository()) diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java index 60834deea..e188fc2f6 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceMetaDataParser.java @@ -87,7 +87,7 @@ import org.apache.openjpa.kernel.QueryLanguages; import org.apache.openjpa.kernel.jpql.JPQLParser; import org.apache.openjpa.lib.conf.Configurations; import org.apache.openjpa.lib.log.Log; -import org.apache.openjpa.lib.util.J2DoPrivHelper; +import org.apache.openjpa.lib.util.J2DoPriv5Helper; import org.apache.openjpa.lib.util.Localizer; import org.apache.openjpa.meta.ClassMetaData; import org.apache.openjpa.meta.DelegatingMetaDataFactory; @@ -465,12 +465,12 @@ public class AnnotationPersistenceMetaDataParser // check immediately whether the user is using any annotations, // regardless of mode. this prevents adding non-entity classes to // repository if we're ignoring these annotations in mapping mode - if (!((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (!((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(_cls, Entity.class))).booleanValue() - && !((Boolean) AccessController.doPrivileged(J2DoPrivHelper + && !((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(_cls, Embeddable.class))) .booleanValue() - && !((Boolean) AccessController.doPrivileged(J2DoPrivHelper + && !((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(_cls, MappedSuperclass.class))) .booleanValue()) return null; @@ -669,17 +669,17 @@ public class AnnotationPersistenceMetaDataParser String rsrc = StringUtils.replace(cls.getName(), ".", "/"); ClassLoader loader = (ClassLoader) AccessController.doPrivileged( - J2DoPrivHelper.getClassLoaderAction(cls)); + J2DoPriv5Helper.getClassLoaderAction(cls)); if (loader == null) loader = (ClassLoader) AccessController.doPrivileged( - J2DoPrivHelper.getSystemClassLoaderAction()); + J2DoPriv5Helper.getSystemClassLoaderAction()); if (loader == null) return null; URL url = (URL) AccessController.doPrivileged( - J2DoPrivHelper.getResourceAction(loader, rsrc + ".java")); + J2DoPriv5Helper.getResourceAction(loader, rsrc + ".java")); if (url == null) { url = (URL) AccessController.doPrivileged( - J2DoPrivHelper.getResourceAction(loader, rsrc + ".class")); + J2DoPriv5Helper.getResourceAction(loader, rsrc + ".class")); if (url == null) return null; } @@ -764,10 +764,10 @@ public class AnnotationPersistenceMetaDataParser meta.setDetachedState(detached.fieldName()); } else { Field[] fields = (Field[]) AccessController.doPrivileged( - J2DoPrivHelper.getDeclaredFieldsAction( + J2DoPriv5Helper.getDeclaredFieldsAction( meta.getDescribedType())); for (int i = 0; i < fields.length; i++) - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(fields[i], DetachedState.class))) .booleanValue()) meta.setDetachedState(fields[i].getName()); @@ -808,7 +808,7 @@ public class AnnotationPersistenceMetaDataParser Set seen = new HashSet(); do { for (Method m : (Method[]) AccessController.doPrivileged( - J2DoPrivHelper.getDeclaredMethodsAction(sup))) { + J2DoPriv5Helper.getDeclaredMethodsAction(sup))) { mods = m.getModifiers(); if (Modifier.isStatic(mods) || Modifier.isFinal(mods) || Object.class.equals(m.getDeclaringClass())) @@ -826,7 +826,8 @@ public class AnnotationPersistenceMetaDataParser MetaDataDefaults def = repos.getMetaDataFactory().getDefaults(); for (Method m : methods) { for (Annotation anno : (Annotation[]) AccessController - .doPrivileged(J2DoPrivHelper.getDeclaredAnnotationsAction(m))) { + .doPrivileged(J2DoPriv5Helper + .getDeclaredAnnotationsAction(m))) { MetaDataTag tag = _tags.get(anno.annotationType()); if (tag == null) continue; @@ -964,7 +965,7 @@ public class AnnotationPersistenceMetaDataParser fmd.setExplicit(true); AnnotatedElement el = (AnnotatedElement) member; - boolean lob = ((Boolean) AccessController.doPrivileged(J2DoPrivHelper + boolean lob = ((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(el, Lob.class))).booleanValue(); if (isMetaDataMode()) { switch (pstrat) { diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java index 845bcc05b..f9e0c00fd 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/AnnotationPersistenceXMLMetaDataParser.java @@ -27,7 +27,7 @@ import java.security.AccessController; import org.apache.commons.lang.StringUtils; import org.apache.openjpa.conf.OpenJPAConfiguration; import org.apache.openjpa.lib.log.Log; -import org.apache.openjpa.lib.util.J2DoPrivHelper; +import org.apache.openjpa.lib.util.J2DoPriv5Helper; import org.apache.openjpa.lib.util.Localizer; import org.apache.openjpa.meta.DelegatingMetaDataFactory; import org.apache.openjpa.meta.FieldMetaData; @@ -173,10 +173,10 @@ public class AnnotationPersistenceXMLMetaDataParser { private XMLMetaData parseXMLClassAnnotations() { // check immediately whether the class has JAXB XML annotations if (_cls == null || xmlTypeClass == null - || !(((Boolean) AccessController.doPrivileged(J2DoPrivHelper + || !(((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(_cls, xmlTypeClass))).booleanValue() && ((Boolean) AccessController - .doPrivileged(J2DoPrivHelper.isAnnotationPresentAction(_cls, + .doPrivileged(J2DoPriv5Helper.isAnnotationPresentAction(_cls, xmlRootElementClass))).booleanValue())) return null; @@ -225,7 +225,7 @@ public class AnnotationPersistenceXMLMetaDataParser { Class superclass = cls.getSuperclass(); // handle inheritance at sub-element level - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(superclass, xmlTypeClass))) .booleanValue()) populateFromReflection(superclass, meta); @@ -247,7 +247,7 @@ public class AnnotationPersistenceXMLMetaDataParser { // avoid JAXB XML bind default name if (StringUtils.equals(XMLMetaData.defaultName, xmlname)) xmlname = member.getName(); - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(((Field) member).getType(), xmlTypeClass))).booleanValue()) { field = _repos.addXMLMetaData(((Field) member).getType() diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java index cba14fbfc..83e00b7e1 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataDefaults.java @@ -48,7 +48,7 @@ import javax.persistence.PreUpdate; import javax.persistence.Transient; import org.apache.commons.lang.StringUtils; -import org.apache.openjpa.lib.util.J2DoPrivHelper; +import org.apache.openjpa.lib.util.J2DoPriv5Helper; import org.apache.openjpa.lib.util.Localizer; import org.apache.openjpa.lib.log.Log; import org.apache.openjpa.meta.AbstractMetaDataDefaults; @@ -116,7 +116,7 @@ public class PersistenceMetaDataDefaults if (member == null) return null; AnnotatedElement el = (AnnotatedElement) member; - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(el, Transient.class))).booleanValue()) return TRANSIENT; if (fmd != null @@ -183,7 +183,7 @@ public class PersistenceMetaDataDefaults } //### EJB3: what if defined in XML? - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(type, Embeddable.class))).booleanValue()) return EMBEDDED; if (Serializable.class.isAssignableFrom(type)) @@ -258,10 +258,10 @@ public class PersistenceMetaDataDefaults int access = 0; if (usesAccess((Field[]) AccessController.doPrivileged( - J2DoPrivHelper.getDeclaredFieldsAction(cls)))) + J2DoPriv5Helper.getDeclaredFieldsAction(cls)))) access |= ClassMetaData.ACCESS_FIELD; if (usesAccess((Method[]) AccessController.doPrivileged( - J2DoPrivHelper.getDeclaredMethodsAction(cls)))) + J2DoPriv5Helper.getDeclaredMethodsAction(cls)))) access |= ClassMetaData.ACCESS_PROPERTY; return (access == 0) ? getAccessType(cls.getSuperclass()) : access; } @@ -273,7 +273,7 @@ public class PersistenceMetaDataDefaults Annotation[] annos; String name; for (int i = 0; i < members.length; i++) { - annos = (Annotation[]) AccessController.doPrivileged(J2DoPrivHelper + annos = (Annotation[]) AccessController.doPrivileged(J2DoPriv5Helper .getAnnotationsAction(members[i])); for (int j = 0; j < annos.length; j++) { name = annos[j].annotationType().getName(); @@ -296,7 +296,7 @@ public class PersistenceMetaDataDefaults try { // check for setters for methods Method setter = (Method) AccessController.doPrivileged( - J2DoPrivHelper.getDeclaredMethodAction( + J2DoPriv5Helper.getDeclaredMethodAction( meta.getDescribedType(), "set" + StringUtils.capitalize(name), new Class[] { ((Method) member).getReturnType() })); @@ -320,7 +320,7 @@ public class PersistenceMetaDataDefaults private boolean isAnnotatedTransient(Member member) { return member instanceof AnnotatedElement - && ((Boolean) AccessController.doPrivileged(J2DoPrivHelper + && ((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(((AnnotatedElement) member), Transient.class))).booleanValue(); } diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java index 29a1e3a74..b56c28028 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/PersistenceMetaDataFactory.java @@ -46,7 +46,7 @@ import org.apache.openjpa.lib.meta.ClassAnnotationMetaDataFilter; import org.apache.openjpa.lib.meta.ClassArgParser; import org.apache.openjpa.lib.meta.MetaDataFilter; import org.apache.openjpa.lib.meta.MetaDataParser; -import org.apache.openjpa.lib.util.J2DoPrivHelper; +import org.apache.openjpa.lib.util.J2DoPriv5Helper; import org.apache.openjpa.lib.util.Localizer; import org.apache.openjpa.lib.util.Options; import org.apache.openjpa.meta.AbstractCFMetaDataFactory; @@ -293,24 +293,24 @@ public class PersistenceMetaDataFactory return null; Collection classes = repos.loadPersistentTypes(false, loader); for (Class cls : (Collection) classes) { - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(cls, NamedQuery.class))) .booleanValue() && hasNamedQuery (queryName, (NamedQuery) cls.getAnnotation(NamedQuery.class))) return cls; - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(cls, NamedQueries.class))) .booleanValue() && hasNamedQuery(queryName, ((NamedQueries) cls. getAnnotation(NamedQueries.class)).value())) return cls; - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(cls, NamedNativeQuery.class))) .booleanValue() && hasNamedNativeQuery(queryName, (NamedNativeQuery) cls. getAnnotation(NamedNativeQuery.class))) return cls; - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(cls, NamedNativeQueries.class))) .booleanValue() && hasNamedNativeQuery(queryName, ((NamedNativeQueries) cls. @@ -329,14 +329,14 @@ public class PersistenceMetaDataFactory Collection classes = repos.loadPersistentTypes(false, loader); for (Class cls : (Collection) classes) { - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(cls, SqlResultSetMapping.class))) .booleanValue() && hasRSMapping(rsMappingName, (SqlResultSetMapping) cls. getAnnotation(SqlResultSetMapping.class))) return cls; - if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper + if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper .isAnnotationPresentAction(cls, SqlResultSetMappings.class))) .booleanValue() && hasRSMapping(rsMappingName, ((SqlResultSetMappings) cls. @@ -458,11 +458,11 @@ public class PersistenceMetaDataFactory ClassLoader loader = repos.getConfiguration(). getClassResolverInstance().getClassLoader(getClass(), null); URL rsrc = (URL) AccessController.doPrivileged( - J2DoPrivHelper.getResourceAction(loader, "META-INF/orm.xml")); + J2DoPriv5Helper.getResourceAction(loader, "META-INF/orm.xml")); if (rsrc != null) { File file = new File(rsrc.getFile()); if (((Boolean) AccessController.doPrivileged( - J2DoPrivHelper.existsAction(file))).booleanValue()) + J2DoPriv5Helper.existsAction(file))).booleanValue()) return file; } return new File("orm.xml"); diff --git a/pom.xml b/pom.xml index bdb5ecad2..2f80b36b1 100644 --- a/pom.xml +++ b/pom.xml @@ -121,6 +121,7 @@ 1.5 + openjpa-lib-5 openjpa-persistence openjpa-persistence-jdbc openjpa-kernel-5