Author: peterreilly
Date: Sun Sep 3 15:54:24 2006
New Revision: 439868
URL: http://svn.apache.org/viewvc?view=rev&rev=439868
Log:
fix failing unit test by fixing moving getResources code from findResource to
getResiources()
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java
Modified: ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java?view=diff&rev=439868&r1=439867&r2=439868
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/AntClassLoader.java Sun Sep 3
15:54:24 2006
@@ -400,6 +400,7 @@
// this classloader, and that is the way that the
// class behaves - so use a bit of reflection
// to set the field.
+
if (parentField == null) {
return; // Unable to get access to the parent field
}
@@ -408,6 +409,7 @@
} catch (Throwable t) {
// Ignore - unable to set the parent
}
+
}
/**
@@ -972,24 +974,7 @@
* @exception IOException if I/O errors occurs (can't happen)
*/
protected Enumeration/*<URL>*/ findResources(String name) throws
IOException {
- Enumeration/*<URL>*/ mine = new ResourceEnumeration(name);
- Enumeration/*<URL>*/ base;
- if (parent != null && parent != getParent()) {
- // Delegate to the parent:
- base = parent.getResources(name);
- // Note: could cause overlaps in case ClassLoader.this.parent has
matches.
- } else {
- // ClassLoader.this.parent is already delegated to from
- // ClassLoader.getResources, no need:
- base = new CollectionUtils.EmptyEnumeration();
- }
- if (isParentFirst(name)) {
- // Normal case.
- return CollectionUtils.append(base, mine);
- } else {
- // Inverted.
- return CollectionUtils.append(mine, base);
- }
+ return new ResourceEnumeration(name);
}
/**
@@ -1554,4 +1539,23 @@
return "AntClassLoader[" + getClasspath() + "]";
}
+ /**
+ * Override ClassLoader.getResources() to handle the reverse case.
+ * @param name The resource name to seach for.
+ * @return an enumeration of URLs for the resources
+ * @exception IOException if I/O errors occurs.
+ */
+ public Enumeration getResources(String name) throws IOException {
+ Enumeration parentEnum;
+ if (parent != null) {
+ parentEnum = parent.getResources(name);
+ } else {
+ // ClassLoader.getBootstrapResources(name) is private - so fake it
+ parentEnum = new ClassLoader(){}.getResources(name);
+ }
+ Enumeration mine = findResources(name);
+ return isParentFirst(name)
+ ? CollectionUtils.append(parentEnum, mine)
+ : CollectionUtils.append(mine, parentEnum);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]