mirror of https://github.com/apache/openjpa.git
unify doPrivHelpers
git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@713493 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ef910bb684
commit
1ae20fc277
|
@ -1,95 +0,0 @@
|
|||
/*
|
||||
* 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.annotation.Annotation;
|
||||
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:
|
||||
* <ul>
|
||||
* <li>AnnotatedElement.getAnnotations
|
||||
* <li>AnnotatedElement.getDeclaredAnnotations
|
||||
* <li>AnnotatedElement.isAnnotationPresent
|
||||
* </ul>
|
||||
*
|
||||
* @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<Annotation []> getAnnotationsAction(
|
||||
final AnnotatedElement element) {
|
||||
return new PrivilegedAction<Annotation []>() {
|
||||
public Annotation [] 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<Annotation []>
|
||||
getDeclaredAnnotationsAction(
|
||||
final AnnotatedElement element) {
|
||||
return new PrivilegedAction<Annotation[]>() {
|
||||
public Annotation [] 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<Boolean> isAnnotationPresentAction(
|
||||
final AnnotatedElement element,
|
||||
final Class<? extends Annotation> annotationClazz) {
|
||||
return new PrivilegedAction<Boolean>() {
|
||||
public Boolean run() {
|
||||
return element.isAnnotationPresent(annotationClazz)
|
||||
? Boolean.TRUE : Boolean.FALSE;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
|
@ -24,7 +24,9 @@ import java.io.FileNotFoundException;
|
|||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.annotation.Annotation;
|
||||
import java.lang.reflect.AccessibleObject;
|
||||
import java.lang.reflect.AnnotatedElement;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.InetAddress;
|
||||
|
@ -98,6 +100,9 @@ import serp.bytecode.Project;
|
|||
* <li>serp.bytecode.BCClass.getFields
|
||||
* <li>serp.bytecode.FieldInstruction.getField
|
||||
* <li>serp.bytecode.Project.loadClass
|
||||
* <li>AnnotatedElement.getAnnotations
|
||||
* <li>AnnotatedElement.getDeclaredAnnotations
|
||||
* <li>AnnotatedElement.isAnnotationPresent
|
||||
* </ul>
|
||||
*
|
||||
* If these methods are used, the following sample usage patterns should be
|
||||
|
@ -1047,4 +1052,60 @@ 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<Annotation []> getAnnotationsAction(
|
||||
final AnnotatedElement element) {
|
||||
return new PrivilegedAction<Annotation []>() {
|
||||
public Annotation [] 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<Annotation []>
|
||||
getDeclaredAnnotationsAction(
|
||||
final AnnotatedElement element) {
|
||||
return new PrivilegedAction<Annotation[]>() {
|
||||
public Annotation [] 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<Boolean> isAnnotationPresentAction(
|
||||
final AnnotatedElement element,
|
||||
final Class<? extends Annotation> annotationClazz) {
|
||||
return new PrivilegedAction<Boolean>() {
|
||||
public Boolean run() {
|
||||
return element.isAnnotationPresent(annotationClazz)
|
||||
? Boolean.TRUE : Boolean.FALSE;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ import org.apache.openjpa.jdbc.schema.Schemas;
|
|||
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.J2DoPriv5Helper;
|
||||
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;
|
||||
|
@ -1308,7 +1308,7 @@ public class AnnotationPersistenceMappingParser
|
|||
|
||||
if (xmlTypeClass != null
|
||||
&& StringUtils.isEmpty(pcols[i].columnDefinition())
|
||||
&& (AccessController.doPrivileged(J2DoPriv5Helper
|
||||
&& (AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(fm.getDeclaredType(),
|
||||
xmlTypeClass))).booleanValue()) {
|
||||
DBDictionary dict = ((MappingRepository) getRepository())
|
||||
|
|
|
@ -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.J2DoPriv5Helper;
|
||||
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.DelegatingMetaDataFactory;
|
||||
|
@ -467,12 +467,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 (!(AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if (!(AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(_cls, Entity.class))).booleanValue()
|
||||
&& !(AccessController.doPrivileged(J2DoPriv5Helper
|
||||
&& !(AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(_cls, Embeddable.class)))
|
||||
.booleanValue()
|
||||
&& !(AccessController.doPrivileged(J2DoPriv5Helper
|
||||
&& !(AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(_cls, MappedSuperclass.class)))
|
||||
.booleanValue())
|
||||
return null;
|
||||
|
@ -679,17 +679,17 @@ public class AnnotationPersistenceMetaDataParser
|
|||
|
||||
String rsrc = StringUtils.replace(cls.getName(), ".", "/");
|
||||
ClassLoader loader = AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getClassLoaderAction(cls));
|
||||
J2DoPrivHelper.getClassLoaderAction(cls));
|
||||
if (loader == null)
|
||||
loader = AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getSystemClassLoaderAction());
|
||||
J2DoPrivHelper.getSystemClassLoaderAction());
|
||||
if (loader == null)
|
||||
return null;
|
||||
URL url = AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getResourceAction(loader, rsrc + ".java"));
|
||||
J2DoPrivHelper.getResourceAction(loader, rsrc + ".java"));
|
||||
if (url == null) {
|
||||
url = AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getResourceAction(loader, rsrc + ".class"));
|
||||
J2DoPrivHelper.getResourceAction(loader, rsrc + ".class"));
|
||||
if (url == null)
|
||||
return null;
|
||||
}
|
||||
|
@ -779,10 +779,10 @@ public class AnnotationPersistenceMetaDataParser
|
|||
meta.setDetachedState(detached.fieldName());
|
||||
} else {
|
||||
Field[] fields = (Field[]) AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getDeclaredFieldsAction(
|
||||
J2DoPrivHelper.getDeclaredFieldsAction(
|
||||
meta.getDescribedType()));
|
||||
for (int i = 0; i < fields.length; i++)
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(fields[i], DetachedState.class)))
|
||||
.booleanValue())
|
||||
meta.setDetachedState(fields[i].getName());
|
||||
|
@ -827,7 +827,7 @@ public class AnnotationPersistenceMetaDataParser
|
|||
Set<MethodKey> seen = new HashSet<MethodKey>();
|
||||
do {
|
||||
for (Method m : (Method[]) AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getDeclaredMethodsAction(sup))) {
|
||||
J2DoPrivHelper.getDeclaredMethodsAction(sup))) {
|
||||
mods = m.getModifiers();
|
||||
if (Modifier.isStatic(mods) || Modifier.isFinal(mods) ||
|
||||
Object.class.equals(m.getDeclaringClass()))
|
||||
|
@ -845,7 +845,7 @@ public class AnnotationPersistenceMetaDataParser
|
|||
MetaDataDefaults def = repos.getMetaDataFactory().getDefaults();
|
||||
for (Method m : methods) {
|
||||
for (Annotation anno : (Annotation[]) AccessController
|
||||
.doPrivileged(J2DoPriv5Helper
|
||||
.doPrivileged(J2DoPrivHelper
|
||||
.getDeclaredAnnotationsAction(m))) {
|
||||
MetaDataTag tag = _tags.get(anno.annotationType());
|
||||
if (tag == null)
|
||||
|
@ -984,7 +984,7 @@ public class AnnotationPersistenceMetaDataParser
|
|||
fmd.setExplicit(true);
|
||||
|
||||
AnnotatedElement el = (AnnotatedElement) member;
|
||||
boolean lob = (AccessController.doPrivileged(J2DoPriv5Helper
|
||||
boolean lob = (AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(el, Lob.class))).booleanValue();
|
||||
if (isMetaDataMode()) {
|
||||
switch (pstrat) {
|
||||
|
|
|
@ -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.J2DoPriv5Helper;
|
||||
import org.apache.openjpa.lib.util.J2DoPrivHelper;
|
||||
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
|
||||
|| !((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
|| !((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(_cls, xmlTypeClass))).booleanValue()
|
||||
&& (AccessController
|
||||
.doPrivileged(J2DoPriv5Helper.isAnnotationPresentAction(_cls,
|
||||
.doPrivileged(J2DoPrivHelper.isAnnotationPresentAction(_cls,
|
||||
xmlRootElementClass))).booleanValue()))
|
||||
return null;
|
||||
|
||||
|
@ -225,7 +225,7 @@ public class AnnotationPersistenceXMLMetaDataParser {
|
|||
Class superclass = cls.getSuperclass();
|
||||
|
||||
// handle inheritance at sub-element level
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.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 ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(((Field) member).getType(),
|
||||
xmlTypeClass))).booleanValue()) {
|
||||
field = _repos.addXMLMetaData(((Field) member).getType()
|
||||
|
|
|
@ -50,7 +50,7 @@ import javax.persistence.PreUpdate;
|
|||
import javax.persistence.Transient;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.openjpa.lib.util.J2DoPriv5Helper;
|
||||
import org.apache.openjpa.lib.util.J2DoPrivHelper;
|
||||
import org.apache.openjpa.lib.util.Localizer;
|
||||
import org.apache.openjpa.lib.log.Log;
|
||||
import org.apache.openjpa.meta.AbstractMetaDataDefaults;
|
||||
|
@ -118,7 +118,7 @@ public class PersistenceMetaDataDefaults
|
|||
if (member == null)
|
||||
return null;
|
||||
AnnotatedElement el = (AnnotatedElement) member;
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(el, Transient.class))).booleanValue())
|
||||
return TRANSIENT;
|
||||
if (fmd != null
|
||||
|
@ -185,7 +185,7 @@ public class PersistenceMetaDataDefaults
|
|||
}
|
||||
|
||||
//### EJB3: what if defined in XML?
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(type, Embeddable.class))).booleanValue())
|
||||
return EMBEDDED;
|
||||
if (Serializable.class.isAssignableFrom(type))
|
||||
|
@ -260,10 +260,10 @@ public class PersistenceMetaDataDefaults
|
|||
|
||||
int access = 0;
|
||||
if (annotated((Field[]) AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getDeclaredFieldsAction(cls))).size() > 0)
|
||||
J2DoPrivHelper.getDeclaredFieldsAction(cls))).size() > 0)
|
||||
access |= ClassMetaData.ACCESS_FIELD;
|
||||
if (annotated((Method[]) AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getDeclaredMethodsAction(cls))).size() > 0
|
||||
J2DoPrivHelper.getDeclaredMethodsAction(cls))).size() > 0
|
||||
|| cls.isInterface()) // OpenJPA managed ifaces must use prop access
|
||||
access |= ClassMetaData.ACCESS_PROPERTY;
|
||||
return getAccessType(cls.getSuperclass()) | access;
|
||||
|
@ -272,13 +272,13 @@ public class PersistenceMetaDataDefaults
|
|||
@Override
|
||||
protected List getFieldAccessNames(ClassMetaData meta) {
|
||||
return annotated((Field[]) AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getDeclaredFieldsAction(meta.getDescribedType())));
|
||||
J2DoPrivHelper.getDeclaredFieldsAction(meta.getDescribedType())));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List getPropertyAccessNames(ClassMetaData meta) {
|
||||
return annotated((Method[]) AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getDeclaredMethodsAction(meta.getDescribedType())));
|
||||
J2DoPrivHelper.getDeclaredMethodsAction(meta.getDescribedType())));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -290,7 +290,7 @@ public class PersistenceMetaDataDefaults
|
|||
String name;
|
||||
List annotated = new ArrayList(members.length);
|
||||
for (int i = 0; i < members.length; i++) {
|
||||
annos = (Annotation[]) AccessController.doPrivileged(J2DoPriv5Helper
|
||||
annos = (Annotation[]) AccessController.doPrivileged(J2DoPrivHelper
|
||||
.getAnnotationsAction(members[i]));
|
||||
for (int j = 0; j < annos.length; j++) {
|
||||
name = annos[j].annotationType().getName();
|
||||
|
@ -313,7 +313,7 @@ public class PersistenceMetaDataDefaults
|
|||
try {
|
||||
// check for setters for methods
|
||||
Method setter = AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getDeclaredMethodAction(
|
||||
J2DoPrivHelper.getDeclaredMethodAction(
|
||||
meta.getDescribedType(), "set" +
|
||||
StringUtils.capitalize(name), new Class[] {
|
||||
((Method) member).getReturnType() }));
|
||||
|
@ -337,7 +337,7 @@ public class PersistenceMetaDataDefaults
|
|||
|
||||
private boolean isAnnotatedTransient(Member member) {
|
||||
return member instanceof AnnotatedElement
|
||||
&& (AccessController.doPrivileged(J2DoPriv5Helper
|
||||
&& (AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(((AnnotatedElement) member),
|
||||
Transient.class))).booleanValue();
|
||||
}
|
||||
|
|
|
@ -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.J2DoPriv5Helper;
|
||||
import org.apache.openjpa.lib.util.J2DoPrivHelper;
|
||||
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<Class>) classes) {
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(cls, NamedQuery.class)))
|
||||
.booleanValue() && hasNamedQuery
|
||||
(queryName, (NamedQuery) cls.getAnnotation(NamedQuery.class)))
|
||||
return cls;
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(cls, NamedQueries.class)))
|
||||
.booleanValue() &&
|
||||
hasNamedQuery(queryName, ((NamedQueries) cls.
|
||||
getAnnotation(NamedQueries.class)).value()))
|
||||
return cls;
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(cls, NamedNativeQuery.class)))
|
||||
.booleanValue() &&
|
||||
hasNamedNativeQuery(queryName, (NamedNativeQuery) cls.
|
||||
getAnnotation(NamedNativeQuery.class)))
|
||||
return cls;
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.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<Class>) classes) {
|
||||
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.isAnnotationPresentAction(cls, SqlResultSetMapping.class)))
|
||||
.booleanValue() &&
|
||||
hasRSMapping(rsMappingName, (SqlResultSetMapping) cls.
|
||||
getAnnotation(SqlResultSetMapping.class)))
|
||||
return cls;
|
||||
|
||||
if ((AccessController.doPrivileged(J2DoPriv5Helper
|
||||
if ((AccessController.doPrivileged(J2DoPrivHelper
|
||||
.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 = AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.getResourceAction(loader, "META-INF/orm.xml"));
|
||||
J2DoPrivHelper.getResourceAction(loader, "META-INF/orm.xml"));
|
||||
if (rsrc != null) {
|
||||
File file = new File(rsrc.getFile());
|
||||
if ((AccessController.doPrivileged(
|
||||
J2DoPriv5Helper.existsAction(file))).booleanValue())
|
||||
J2DoPrivHelper.existsAction(file))).booleanValue())
|
||||
return file;
|
||||
}
|
||||
return new File("orm.xml");
|
||||
|
|
Loading…
Reference in New Issue