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
This commit is contained in:
Albert Lee 2007-10-02 19:21:50 +00:00
parent cbf296df72
commit 4cc061e5dc
10 changed files with 192 additions and 95 deletions

View File

@ -39,6 +39,12 @@
<version>${pom.version}</version> <version>${pom.version}</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-lib-5</artifactId>
<version>${pom.version}</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>

55
openjpa-lib-5/pom.xml Normal file
View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-lib-5</artifactId>
<packaging>jar</packaging>
<name>OpenJPA Utilities 1.5</name>
<description>OpenJPA Utilities 1.5</description>
<url>http://openjpa.apache.org</url>
<parent>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-parent</artifactId>
<version>1.0.1-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.apache.openjpa</groupId>
<artifactId>openjpa-lib</artifactId>
<version>${pom.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -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:
* <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 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;
}
};
}
}

View File

@ -24,7 +24,6 @@ import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.AccessibleObject; import java.lang.reflect.AccessibleObject;
import java.lang.reflect.AnnotatedElement;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.ServerSocket; import java.net.ServerSocket;
@ -49,9 +48,6 @@ import serp.bytecode.Project;
* methods: * methods:
* <ul> * <ul>
* <li>AccessibleObject.setAccessible * <li>AccessibleObject.setAccessible
* <li>AnnotatedElement.getAnnotations
* <li>AnnotatedElement.getDeclaredAnnotations
* <li>AnnotatedElement.isAnnotationPresent
* <li>Class.forName * <li>Class.forName
* <li>Class.getClassLoader * <li>Class.getClassLoader
* <li>Class.getDeclaredField * <li>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(). * Return a PrivilegedExceptionAction object for clazz.newInstance().
* *

View File

@ -75,7 +75,7 @@ import org.apache.openjpa.jdbc.schema.Column;
import org.apache.openjpa.jdbc.schema.Unique; import org.apache.openjpa.jdbc.schema.Unique;
import org.apache.openjpa.jdbc.sql.DBDictionary; import org.apache.openjpa.jdbc.sql.DBDictionary;
import org.apache.openjpa.lib.log.Log; 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.lib.util.Localizer;
import org.apache.openjpa.meta.ClassMetaData; import org.apache.openjpa.meta.ClassMetaData;
import org.apache.openjpa.meta.FieldMetaData; import org.apache.openjpa.meta.FieldMetaData;
@ -1060,7 +1060,7 @@ public class AnnotationPersistenceMappingParser
if (xmlTypeClass != null if (xmlTypeClass != null
&& StringUtils.isEmpty(pcols[i].columnDefinition()) && StringUtils.isEmpty(pcols[i].columnDefinition())
&& ((Boolean) AccessController.doPrivileged(J2DoPrivHelper && ((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(fm.getDeclaredType(), .isAnnotationPresentAction(fm.getDeclaredType(),
xmlTypeClass))).booleanValue()) { xmlTypeClass))).booleanValue()) {
DBDictionary dict = ((MappingRepository) getRepository()) DBDictionary dict = ((MappingRepository) getRepository())

View File

@ -87,7 +87,7 @@ import org.apache.openjpa.kernel.QueryLanguages;
import org.apache.openjpa.kernel.jpql.JPQLParser; import org.apache.openjpa.kernel.jpql.JPQLParser;
import org.apache.openjpa.lib.conf.Configurations; import org.apache.openjpa.lib.conf.Configurations;
import org.apache.openjpa.lib.log.Log; 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.lib.util.Localizer;
import org.apache.openjpa.meta.ClassMetaData; import org.apache.openjpa.meta.ClassMetaData;
import org.apache.openjpa.meta.DelegatingMetaDataFactory; import org.apache.openjpa.meta.DelegatingMetaDataFactory;
@ -465,12 +465,12 @@ public class AnnotationPersistenceMetaDataParser
// check immediately whether the user is using any annotations, // check immediately whether the user is using any annotations,
// regardless of mode. this prevents adding non-entity classes to // regardless of mode. this prevents adding non-entity classes to
// repository if we're ignoring these annotations in mapping mode // 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() .isAnnotationPresentAction(_cls, Entity.class))).booleanValue()
&& !((Boolean) AccessController.doPrivileged(J2DoPrivHelper && !((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(_cls, Embeddable.class))) .isAnnotationPresentAction(_cls, Embeddable.class)))
.booleanValue() .booleanValue()
&& !((Boolean) AccessController.doPrivileged(J2DoPrivHelper && !((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(_cls, MappedSuperclass.class))) .isAnnotationPresentAction(_cls, MappedSuperclass.class)))
.booleanValue()) .booleanValue())
return null; return null;
@ -669,17 +669,17 @@ public class AnnotationPersistenceMetaDataParser
String rsrc = StringUtils.replace(cls.getName(), ".", "/"); String rsrc = StringUtils.replace(cls.getName(), ".", "/");
ClassLoader loader = (ClassLoader) AccessController.doPrivileged( ClassLoader loader = (ClassLoader) AccessController.doPrivileged(
J2DoPrivHelper.getClassLoaderAction(cls)); J2DoPriv5Helper.getClassLoaderAction(cls));
if (loader == null) if (loader == null)
loader = (ClassLoader) AccessController.doPrivileged( loader = (ClassLoader) AccessController.doPrivileged(
J2DoPrivHelper.getSystemClassLoaderAction()); J2DoPriv5Helper.getSystemClassLoaderAction());
if (loader == null) if (loader == null)
return null; return null;
URL url = (URL) AccessController.doPrivileged( URL url = (URL) AccessController.doPrivileged(
J2DoPrivHelper.getResourceAction(loader, rsrc + ".java")); J2DoPriv5Helper.getResourceAction(loader, rsrc + ".java"));
if (url == null) { if (url == null) {
url = (URL) AccessController.doPrivileged( url = (URL) AccessController.doPrivileged(
J2DoPrivHelper.getResourceAction(loader, rsrc + ".class")); J2DoPriv5Helper.getResourceAction(loader, rsrc + ".class"));
if (url == null) if (url == null)
return null; return null;
} }
@ -764,10 +764,10 @@ public class AnnotationPersistenceMetaDataParser
meta.setDetachedState(detached.fieldName()); meta.setDetachedState(detached.fieldName());
} else { } else {
Field[] fields = (Field[]) AccessController.doPrivileged( Field[] fields = (Field[]) AccessController.doPrivileged(
J2DoPrivHelper.getDeclaredFieldsAction( J2DoPriv5Helper.getDeclaredFieldsAction(
meta.getDescribedType())); meta.getDescribedType()));
for (int i = 0; i < fields.length; i++) for (int i = 0; i < fields.length; i++)
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(fields[i], DetachedState.class))) .isAnnotationPresentAction(fields[i], DetachedState.class)))
.booleanValue()) .booleanValue())
meta.setDetachedState(fields[i].getName()); meta.setDetachedState(fields[i].getName());
@ -808,7 +808,7 @@ public class AnnotationPersistenceMetaDataParser
Set<MethodKey> seen = new HashSet<MethodKey>(); Set<MethodKey> seen = new HashSet<MethodKey>();
do { do {
for (Method m : (Method[]) AccessController.doPrivileged( for (Method m : (Method[]) AccessController.doPrivileged(
J2DoPrivHelper.getDeclaredMethodsAction(sup))) { J2DoPriv5Helper.getDeclaredMethodsAction(sup))) {
mods = m.getModifiers(); mods = m.getModifiers();
if (Modifier.isStatic(mods) || Modifier.isFinal(mods) || if (Modifier.isStatic(mods) || Modifier.isFinal(mods) ||
Object.class.equals(m.getDeclaringClass())) Object.class.equals(m.getDeclaringClass()))
@ -826,7 +826,8 @@ public class AnnotationPersistenceMetaDataParser
MetaDataDefaults def = repos.getMetaDataFactory().getDefaults(); MetaDataDefaults def = repos.getMetaDataFactory().getDefaults();
for (Method m : methods) { for (Method m : methods) {
for (Annotation anno : (Annotation[]) AccessController for (Annotation anno : (Annotation[]) AccessController
.doPrivileged(J2DoPrivHelper.getDeclaredAnnotationsAction(m))) { .doPrivileged(J2DoPriv5Helper
.getDeclaredAnnotationsAction(m))) {
MetaDataTag tag = _tags.get(anno.annotationType()); MetaDataTag tag = _tags.get(anno.annotationType());
if (tag == null) if (tag == null)
continue; continue;
@ -964,7 +965,7 @@ public class AnnotationPersistenceMetaDataParser
fmd.setExplicit(true); fmd.setExplicit(true);
AnnotatedElement el = (AnnotatedElement) member; AnnotatedElement el = (AnnotatedElement) member;
boolean lob = ((Boolean) AccessController.doPrivileged(J2DoPrivHelper boolean lob = ((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(el, Lob.class))).booleanValue(); .isAnnotationPresentAction(el, Lob.class))).booleanValue();
if (isMetaDataMode()) { if (isMetaDataMode()) {
switch (pstrat) { switch (pstrat) {

View File

@ -27,7 +27,7 @@ import java.security.AccessController;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.openjpa.conf.OpenJPAConfiguration; import org.apache.openjpa.conf.OpenJPAConfiguration;
import org.apache.openjpa.lib.log.Log; 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.lib.util.Localizer;
import org.apache.openjpa.meta.DelegatingMetaDataFactory; import org.apache.openjpa.meta.DelegatingMetaDataFactory;
import org.apache.openjpa.meta.FieldMetaData; import org.apache.openjpa.meta.FieldMetaData;
@ -173,10 +173,10 @@ public class AnnotationPersistenceXMLMetaDataParser {
private XMLMetaData parseXMLClassAnnotations() { private XMLMetaData parseXMLClassAnnotations() {
// check immediately whether the class has JAXB XML annotations // check immediately whether the class has JAXB XML annotations
if (_cls == null || xmlTypeClass == null if (_cls == null || xmlTypeClass == null
|| !(((Boolean) AccessController.doPrivileged(J2DoPrivHelper || !(((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(_cls, xmlTypeClass))).booleanValue() .isAnnotationPresentAction(_cls, xmlTypeClass))).booleanValue()
&& ((Boolean) AccessController && ((Boolean) AccessController
.doPrivileged(J2DoPrivHelper.isAnnotationPresentAction(_cls, .doPrivileged(J2DoPriv5Helper.isAnnotationPresentAction(_cls,
xmlRootElementClass))).booleanValue())) xmlRootElementClass))).booleanValue()))
return null; return null;
@ -225,7 +225,7 @@ public class AnnotationPersistenceXMLMetaDataParser {
Class superclass = cls.getSuperclass(); Class superclass = cls.getSuperclass();
// handle inheritance at sub-element level // handle inheritance at sub-element level
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(superclass, xmlTypeClass))) .isAnnotationPresentAction(superclass, xmlTypeClass)))
.booleanValue()) .booleanValue())
populateFromReflection(superclass, meta); populateFromReflection(superclass, meta);
@ -247,7 +247,7 @@ public class AnnotationPersistenceXMLMetaDataParser {
// avoid JAXB XML bind default name // avoid JAXB XML bind default name
if (StringUtils.equals(XMLMetaData.defaultName, xmlname)) if (StringUtils.equals(XMLMetaData.defaultName, xmlname))
xmlname = member.getName(); xmlname = member.getName();
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(((Field) member).getType(), .isAnnotationPresentAction(((Field) member).getType(),
xmlTypeClass))).booleanValue()) { xmlTypeClass))).booleanValue()) {
field = _repos.addXMLMetaData(((Field) member).getType() field = _repos.addXMLMetaData(((Field) member).getType()

View File

@ -48,7 +48,7 @@ import javax.persistence.PreUpdate;
import javax.persistence.Transient; import javax.persistence.Transient;
import org.apache.commons.lang.StringUtils; 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.util.Localizer;
import org.apache.openjpa.lib.log.Log; import org.apache.openjpa.lib.log.Log;
import org.apache.openjpa.meta.AbstractMetaDataDefaults; import org.apache.openjpa.meta.AbstractMetaDataDefaults;
@ -116,7 +116,7 @@ public class PersistenceMetaDataDefaults
if (member == null) if (member == null)
return null; return null;
AnnotatedElement el = (AnnotatedElement) member; AnnotatedElement el = (AnnotatedElement) member;
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(el, Transient.class))).booleanValue()) .isAnnotationPresentAction(el, Transient.class))).booleanValue())
return TRANSIENT; return TRANSIENT;
if (fmd != null if (fmd != null
@ -183,7 +183,7 @@ public class PersistenceMetaDataDefaults
} }
//### EJB3: what if defined in XML? //### EJB3: what if defined in XML?
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(type, Embeddable.class))).booleanValue()) .isAnnotationPresentAction(type, Embeddable.class))).booleanValue())
return EMBEDDED; return EMBEDDED;
if (Serializable.class.isAssignableFrom(type)) if (Serializable.class.isAssignableFrom(type))
@ -258,10 +258,10 @@ public class PersistenceMetaDataDefaults
int access = 0; int access = 0;
if (usesAccess((Field[]) AccessController.doPrivileged( if (usesAccess((Field[]) AccessController.doPrivileged(
J2DoPrivHelper.getDeclaredFieldsAction(cls)))) J2DoPriv5Helper.getDeclaredFieldsAction(cls))))
access |= ClassMetaData.ACCESS_FIELD; access |= ClassMetaData.ACCESS_FIELD;
if (usesAccess((Method[]) AccessController.doPrivileged( if (usesAccess((Method[]) AccessController.doPrivileged(
J2DoPrivHelper.getDeclaredMethodsAction(cls)))) J2DoPriv5Helper.getDeclaredMethodsAction(cls))))
access |= ClassMetaData.ACCESS_PROPERTY; access |= ClassMetaData.ACCESS_PROPERTY;
return (access == 0) ? getAccessType(cls.getSuperclass()) : access; return (access == 0) ? getAccessType(cls.getSuperclass()) : access;
} }
@ -273,7 +273,7 @@ public class PersistenceMetaDataDefaults
Annotation[] annos; Annotation[] annos;
String name; String name;
for (int i = 0; i < members.length; i++) { for (int i = 0; i < members.length; i++) {
annos = (Annotation[]) AccessController.doPrivileged(J2DoPrivHelper annos = (Annotation[]) AccessController.doPrivileged(J2DoPriv5Helper
.getAnnotationsAction(members[i])); .getAnnotationsAction(members[i]));
for (int j = 0; j < annos.length; j++) { for (int j = 0; j < annos.length; j++) {
name = annos[j].annotationType().getName(); name = annos[j].annotationType().getName();
@ -296,7 +296,7 @@ public class PersistenceMetaDataDefaults
try { try {
// check for setters for methods // check for setters for methods
Method setter = (Method) AccessController.doPrivileged( Method setter = (Method) AccessController.doPrivileged(
J2DoPrivHelper.getDeclaredMethodAction( J2DoPriv5Helper.getDeclaredMethodAction(
meta.getDescribedType(), "set" + meta.getDescribedType(), "set" +
StringUtils.capitalize(name), new Class[] { StringUtils.capitalize(name), new Class[] {
((Method) member).getReturnType() })); ((Method) member).getReturnType() }));
@ -320,7 +320,7 @@ public class PersistenceMetaDataDefaults
private boolean isAnnotatedTransient(Member member) { private boolean isAnnotatedTransient(Member member) {
return member instanceof AnnotatedElement return member instanceof AnnotatedElement
&& ((Boolean) AccessController.doPrivileged(J2DoPrivHelper && ((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(((AnnotatedElement) member), .isAnnotationPresentAction(((AnnotatedElement) member),
Transient.class))).booleanValue(); Transient.class))).booleanValue();
} }

View File

@ -46,7 +46,7 @@ import org.apache.openjpa.lib.meta.ClassAnnotationMetaDataFilter;
import org.apache.openjpa.lib.meta.ClassArgParser; import org.apache.openjpa.lib.meta.ClassArgParser;
import org.apache.openjpa.lib.meta.MetaDataFilter; import org.apache.openjpa.lib.meta.MetaDataFilter;
import org.apache.openjpa.lib.meta.MetaDataParser; 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.Localizer;
import org.apache.openjpa.lib.util.Options; import org.apache.openjpa.lib.util.Options;
import org.apache.openjpa.meta.AbstractCFMetaDataFactory; import org.apache.openjpa.meta.AbstractCFMetaDataFactory;
@ -293,24 +293,24 @@ public class PersistenceMetaDataFactory
return null; return null;
Collection classes = repos.loadPersistentTypes(false, loader); Collection classes = repos.loadPersistentTypes(false, loader);
for (Class cls : (Collection<Class>) classes) { for (Class cls : (Collection<Class>) classes) {
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(cls, NamedQuery.class))) .isAnnotationPresentAction(cls, NamedQuery.class)))
.booleanValue() && hasNamedQuery .booleanValue() && hasNamedQuery
(queryName, (NamedQuery) cls.getAnnotation(NamedQuery.class))) (queryName, (NamedQuery) cls.getAnnotation(NamedQuery.class)))
return cls; return cls;
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(cls, NamedQueries.class))) .isAnnotationPresentAction(cls, NamedQueries.class)))
.booleanValue() && .booleanValue() &&
hasNamedQuery(queryName, ((NamedQueries) cls. hasNamedQuery(queryName, ((NamedQueries) cls.
getAnnotation(NamedQueries.class)).value())) getAnnotation(NamedQueries.class)).value()))
return cls; return cls;
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(cls, NamedNativeQuery.class))) .isAnnotationPresentAction(cls, NamedNativeQuery.class)))
.booleanValue() && .booleanValue() &&
hasNamedNativeQuery(queryName, (NamedNativeQuery) cls. hasNamedNativeQuery(queryName, (NamedNativeQuery) cls.
getAnnotation(NamedNativeQuery.class))) getAnnotation(NamedNativeQuery.class)))
return cls; return cls;
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(cls, NamedNativeQueries.class))) .isAnnotationPresentAction(cls, NamedNativeQueries.class)))
.booleanValue() && .booleanValue() &&
hasNamedNativeQuery(queryName, ((NamedNativeQueries) cls. hasNamedNativeQuery(queryName, ((NamedNativeQueries) cls.
@ -329,14 +329,14 @@ public class PersistenceMetaDataFactory
Collection classes = repos.loadPersistentTypes(false, loader); Collection classes = repos.loadPersistentTypes(false, loader);
for (Class cls : (Collection<Class>) classes) { for (Class cls : (Collection<Class>) classes) {
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(cls, SqlResultSetMapping.class))) .isAnnotationPresentAction(cls, SqlResultSetMapping.class)))
.booleanValue() && .booleanValue() &&
hasRSMapping(rsMappingName, (SqlResultSetMapping) cls. hasRSMapping(rsMappingName, (SqlResultSetMapping) cls.
getAnnotation(SqlResultSetMapping.class))) getAnnotation(SqlResultSetMapping.class)))
return cls; return cls;
if (((Boolean) AccessController.doPrivileged(J2DoPrivHelper if (((Boolean) AccessController.doPrivileged(J2DoPriv5Helper
.isAnnotationPresentAction(cls, SqlResultSetMappings.class))) .isAnnotationPresentAction(cls, SqlResultSetMappings.class)))
.booleanValue() && .booleanValue() &&
hasRSMapping(rsMappingName, ((SqlResultSetMappings) cls. hasRSMapping(rsMappingName, ((SqlResultSetMappings) cls.
@ -458,11 +458,11 @@ public class PersistenceMetaDataFactory
ClassLoader loader = repos.getConfiguration(). ClassLoader loader = repos.getConfiguration().
getClassResolverInstance().getClassLoader(getClass(), null); getClassResolverInstance().getClassLoader(getClass(), null);
URL rsrc = (URL) AccessController.doPrivileged( URL rsrc = (URL) AccessController.doPrivileged(
J2DoPrivHelper.getResourceAction(loader, "META-INF/orm.xml")); J2DoPriv5Helper.getResourceAction(loader, "META-INF/orm.xml"));
if (rsrc != null) { if (rsrc != null) {
File file = new File(rsrc.getFile()); File file = new File(rsrc.getFile());
if (((Boolean) AccessController.doPrivileged( if (((Boolean) AccessController.doPrivileged(
J2DoPrivHelper.existsAction(file))).booleanValue()) J2DoPriv5Helper.existsAction(file))).booleanValue())
return file; return file;
} }
return new File("orm.xml"); return new File("orm.xml");

View File

@ -121,6 +121,7 @@
<jdk>1.5</jdk> <jdk>1.5</jdk>
</activation> </activation>
<modules> <modules>
<module>openjpa-lib-5</module>
<module>openjpa-persistence</module> <module>openjpa-persistence</module>
<module>openjpa-persistence-jdbc</module> <module>openjpa-persistence-jdbc</module>
<module>openjpa-kernel-5</module> <module>openjpa-kernel-5</module>