This is an automated email from the ASF dual-hosted git repository. jaikiran pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ant.git
The following commit(s) were added to refs/heads/master by this push: new 9151556 findResources(String, boolean) can unnecessarily search the parent new ba3aea9 Merge pull request #151 from basil/getConfiguredParent 9151556 is described below commit 91515560ef9207c8f2d9dd9b3461f046a6747e10 Author: Basil Crow <m...@basilcrow.com> AuthorDate: Wed Jul 21 14:16:50 2021 -0700 findResources(String, boolean) can unnecessarily search the parent --- src/main/org/apache/tools/ant/AntClassLoader.java | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/main/org/apache/tools/ant/AntClassLoader.java b/src/main/org/apache/tools/ant/AntClassLoader.java index 9791fb3..9560f98 100644 --- a/src/main/org/apache/tools/ant/AntClassLoader.java +++ b/src/main/org/apache/tools/ant/AntClassLoader.java @@ -936,9 +936,6 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener, Clo * data (images, audio, text, etc) that can be accessed by class * code in a way that is independent of the location of the code. * - * <p>Would override getResources if that wasn't final in Java - * 1.4.</p> - * * @param name name of the resource * @return possible URLs as enumeration * @throws IOException if something goes wrong @@ -982,26 +979,21 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener, Clo * * @param name The resource name to search for. * Must not be <code>null</code>. - * @param parentHasBeenSearched whether ClassLoader.this.parent - * has been searched - will be true if the method is (indirectly) - * called from ClassLoader.getResources + * @param skipParent whether to skip searching the parent first - will be false if the method is + * invoked from {@link #getResources(String)} or {@link #getNamedResources(String)} and true + * if the method is invoked from {@link #findResources(String)}. * @return an enumeration of URLs for the resources * @exception IOException if I/O errors occurs (can't happen) */ protected Enumeration<URL> findResources(final String name, - final boolean parentHasBeenSearched) + final boolean skipParent) throws IOException { final Enumeration<URL> mine = new ResourceEnumeration(name); Enumeration<URL> base; - if (parent != null && (!parentHasBeenSearched || parent != getParent())) { + if (parent != null && !skipParent) { // Delegate to the parent: base = parent.getResources(name); - // Note: could cause overlaps in case - // ClassLoader.this.parent has matches and - // parentHasBeenSearched is true } else { - // ClassLoader.this.parent is already delegated to for example from - // ClassLoader.getResources, no need: base = Collections.emptyEnumeration(); } if (isParentFirst(name)) {