You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by ma...@apache.org on 2007/06/07 08:46:24 UTC
svn commit: r545085 - in /db/jdo/trunk: api20/project.xml
api20/test/java/javax/jdo/JDOConfigTestClassLoader.java
api20/test/java/javax/jdo/JDOHelperConfigTest.java project.properties
Author: madams
Date: Wed Jun 6 23:46:23 2007
New Revision: 545085
URL: http://svn.apache.org/viewvc?view=rev&rev=545085
Log:
JDO-494
Modified:
db/jdo/trunk/api20/project.xml
db/jdo/trunk/api20/test/java/javax/jdo/JDOConfigTestClassLoader.java
db/jdo/trunk/api20/test/java/javax/jdo/JDOHelperConfigTest.java
db/jdo/trunk/project.properties
Modified: db/jdo/trunk/api20/project.xml
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api20/project.xml?view=diff&rev=545085&r1=545084&r2=545085
==============================================================================
--- db/jdo/trunk/api20/project.xml (original)
+++ db/jdo/trunk/api20/project.xml Wed Jun 6 23:46:23 2007
@@ -41,6 +41,11 @@
<version>1.1</version>
</dependency>
<dependency>
+ <groupId>org.apache.ant</groupId>
+ <artifactId>ant</artifactId>
+ <version>1.7.0</version>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
Modified: db/jdo/trunk/api20/test/java/javax/jdo/JDOConfigTestClassLoader.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api20/test/java/javax/jdo/JDOConfigTestClassLoader.java?view=diff&rev=545085&r1=545084&r2=545085
==============================================================================
--- db/jdo/trunk/api20/test/java/javax/jdo/JDOConfigTestClassLoader.java (original)
+++ db/jdo/trunk/api20/test/java/javax/jdo/JDOConfigTestClassLoader.java Wed Jun 6 23:46:23 2007
@@ -1,7 +1,14 @@
package javax.jdo;
+import org.apache.tools.ant.AntClassLoader;
+
import java.net.URL;
import java.net.URLClassLoader;
+import java.net.MalformedURLException;
+import java.util.StringTokenizer;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Iterator;
/**
* A class loader used to ensure that classpath URLs added in JUnit tests
@@ -9,17 +16,45 @@
*/
public class JDOConfigTestClassLoader extends URLClassLoader {
- public JDOConfigTestClassLoader(String partialPathToIgnore, URLClassLoader unparent) {
+ public JDOConfigTestClassLoader(
+ String partialPathToIgnore,
+ ClassLoader unparent
+ ) {
this(new String[]{partialPathToIgnore}, unparent);
}
- public JDOConfigTestClassLoader(String[] partialPathsToIgnore, URLClassLoader unparent) {
+ public JDOConfigTestClassLoader(
+ String[] partialPathsToIgnore,
+ ClassLoader unparent
+ ) {
super(new URL[]{}, null);
- addNonTestURLs(partialPathsToIgnore == null ? new String[]{} : partialPathsToIgnore, unparent);
+
+ if (unparent instanceof URLClassLoader) {
+ addNonTestURLs(
+ partialPathsToIgnore == null
+ ? new String[]{}
+ : partialPathsToIgnore,
+ (URLClassLoader) unparent);
+ }
+ else if (unparent instanceof AntClassLoader) {
+ addNonTestURLs(
+ partialPathsToIgnore == null
+ ? new String[]{}
+ : partialPathsToIgnore,
+ (AntClassLoader) unparent);
+ }
+ else {
+ throw new RuntimeException(
+ "unknown ClassLoader type: "
+ + unparent.getClass().getName());
+ }
}
// HACK: need to identify a better way of controlling test classpath
- protected void addNonTestURLs(String[] partialPathsToIgnore, URLClassLoader unparent) {
+ protected void addNonTestURLs(
+ String[] partialPathsToIgnore,
+ URLClassLoader unparent
+ ) {
URL[] urls = unparent.getURLs();
for (int i = 0; i < urls.length; i++) {
URL url = urls[i];
@@ -27,6 +62,33 @@
for (int j = 0; j < partialPathsToIgnore.length; j++) {
if (urlString.indexOf(partialPathsToIgnore[j]) == -1) {
addURL(url);
+ }
+ }
+ }
+ }
+
+ protected void addNonTestURLs(
+ String[] partialPathsToIgnore,
+ AntClassLoader unparent
+ ) {
+ List elements = new ArrayList();
+ String classpath = unparent.getClasspath();
+ StringTokenizer st = new StringTokenizer(
+ classpath, System.getProperty("path.separator"));
+ while (st.hasMoreTokens()) {
+ elements.add("file://" + st.nextToken());
+ }
+ Iterator i = elements.iterator();
+ while (i.hasNext()) {
+ String element = (String) i.next();
+ for (int j = 0; j < partialPathsToIgnore.length; j++) {
+ if (element.indexOf(partialPathsToIgnore[j]) == -1) {
+ try {
+ addURL(new URL(element));
+ }
+ catch (MalformedURLException e) {
+ throw new RuntimeException(e);
+ }
}
}
}
Modified: db/jdo/trunk/api20/test/java/javax/jdo/JDOHelperConfigTest.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/api20/test/java/javax/jdo/JDOHelperConfigTest.java?view=diff&rev=545085&r1=545084&r2=545085
==============================================================================
--- db/jdo/trunk/api20/test/java/javax/jdo/JDOHelperConfigTest.java (original)
+++ db/jdo/trunk/api20/test/java/javax/jdo/JDOHelperConfigTest.java Wed Jun 6 23:46:23 2007
@@ -54,18 +54,22 @@
*/
public void testPositive00_PMF0_GetNamedPMFProperties() throws IOException {
- URLClassLoader loader = new JDOConfigTestClassLoader(
- JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
- ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive0", loader);
+ try {
+ URLClassLoader loader = new JDOConfigTestClassLoader(
+ JDOCONFIG_CLASSPATH_PREFIX,
+ getClass().getClassLoader());
+ ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive0", loader);
- Map expected = prepareInitialExpectedMap("positive0.pmf0", 2);
- String name = (String) expected.get(PROPERTY_PERSISTENCE_UNIT_NAME);
+ Map expected = prepareInitialExpectedMap("positive0.pmf0", 2);
+ String name = (String) expected.get(PROPERTY_PERSISTENCE_UNIT_NAME);
- Map actual = JDOHelper.getPersistenceUnitProperties(name, loader);
+ Map actual = JDOHelper.getPersistenceUnitProperties(name, loader);
- assertNotNull("No properties found", actual);
- assertEqualProperties(expected, actual);
+ assertNotNull("No properties found", actual);
+ assertEqualProperties(expected, actual);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
/**
@@ -76,7 +80,7 @@
public void testPositive00_PMF1_GetNamedPMFProperties() throws IOException {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive0", loader);
Map expected = prepareInitialExpectedMap("positive0.pmf1", 2);
@@ -96,7 +100,7 @@
public void testPositive00_PMF2_GetNamedPMFProperties() throws IOException {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive0", loader);
Map expected = prepareInitialExpectedMap("positive0.pmf2", 2);
@@ -116,7 +120,7 @@
public void testPositive00_PMF3_GetNamedPMFProperties() throws IOException {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive0", loader);
Map expected = prepareInitialExpectedMap("positive0.pmf3", 2, 2);
@@ -136,7 +140,7 @@
public void testPositive00_PMF4_GetNamedPMFProperties() throws IOException {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive0", loader);
Map expected = prepareInitialExpectedMap("positive0.pmf4", 0, 2);
@@ -257,11 +261,11 @@
* Positive0-jdoconfig.xml and PU name
* "persistence-unit-name.positive0.pmf0"
*/
- public void testPostiive01_DuplicatePUsInDifferentConfigFilesButNotRequested() throws IOException {
+ public void testPositive01_DuplicatePUsInDifferentConfigFilesButNotRequested() throws IOException {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive1/1a", loader);
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive1/1b", loader);
@@ -276,7 +280,7 @@
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive3", loader);
String expected = "class.positive3.pmf0";
@@ -293,7 +297,7 @@
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive4", loader);
String expected = "class.positive4.pmf0";
@@ -310,7 +314,7 @@
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Positive5", loader);
String expected = "class.positive5.pmf0";
@@ -341,7 +345,7 @@
try {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative0", loader);
JDOHelper.getPersistenceManagerFactory(loader);
@@ -356,7 +360,7 @@
try {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative1", loader);
JDOHelper.getPersistenceManagerFactory(loader);
@@ -373,7 +377,7 @@
try {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative2", loader);
JDOHelper.getPersistenceManagerFactory(loader);
@@ -390,7 +394,7 @@
try {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative3", loader);
JDOHelper.getPersistenceManagerFactory(
@@ -410,7 +414,7 @@
try {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative4", loader);
JDOHelper.getPersistenceManagerFactory(
@@ -430,7 +434,7 @@
try {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative5", loader);
JDOHelper.getPersistenceManagerFactory(loader);
@@ -448,7 +452,7 @@
try {
URLClassLoader loader = new JDOConfigTestClassLoader(
JDOCONFIG_CLASSPATH_PREFIX,
- (URLClassLoader) getClass().getClassLoader());
+ getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative6/6a", loader);
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative6/6b", loader);
@@ -466,8 +470,7 @@
public void testNegative07_EmptyServicesFile()
throws IOException
{
- URLClassLoader loader = (URLClassLoader) getClass().getClassLoader();
- JDOConfigTestClassLoader testLoader = new JDOConfigTestClassLoader(new String[] {JDOCONFIG_CLASSPATH_PREFIX}, loader);
+ JDOConfigTestClassLoader testLoader = new JDOConfigTestClassLoader(new String[] {JDOCONFIG_CLASSPATH_PREFIX}, getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative7", testLoader);
String shouldBeNull = JDOHelper.getPMFClassNameViaServiceLookup(testLoader);
assertNull(shouldBeNull);
@@ -476,8 +479,7 @@
public void testNegative08_ServicesFileWithOnlyComments()
throws IOException
{
- URLClassLoader loader = (URLClassLoader) getClass().getClassLoader();
- JDOConfigTestClassLoader testLoader = new JDOConfigTestClassLoader(new String[] {JDOCONFIG_CLASSPATH_PREFIX}, loader);
+ JDOConfigTestClassLoader testLoader = new JDOConfigTestClassLoader(new String[] {JDOCONFIG_CLASSPATH_PREFIX}, getClass().getClassLoader());
ClasspathHelper.addFile(JDOCONFIG_CLASSPATH_PREFIX + "/Negative8", testLoader);
String shouldBeNull = JDOHelper.getPMFClassNameViaServiceLookup(testLoader);
assertNull(shouldBeNull);
Modified: db/jdo/trunk/project.properties
URL: http://svn.apache.org/viewvc/db/jdo/trunk/project.properties?view=diff&rev=545085&r1=545084&r2=545085
==============================================================================
--- db/jdo/trunk/project.properties (original)
+++ db/jdo/trunk/project.properties Wed Jun 6 23:46:23 2007
@@ -15,7 +15,10 @@
# limitations under the License.
#
-maven.repo.remote = http://repo1.maven.org/maven,http://maven1.glassfishwiki.org
+maven.repo.remote=\
+http://repo1.maven.org/maven,\
+http://maven1.glassfishwiki.org,\
+https://maven-repository.dev.java.net/nonav/repository
# Make sure the compiled class still work with J2SE 1.3
maven.compile.source = 1.3