Author: mbenson Date: Wed Nov 23 10:16:24 2005 New Revision: 348510 URL: http://svn.apache.org/viewcvs?rev=348510&view=rev Log: allow empty <resources> after all.
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java URL: http://svn.apache.org/viewcvs/ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java?rev=348510&r1=348509&r2=348510&view=diff ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java Wed Nov 23 10:16:24 2005 @@ -77,11 +77,14 @@ private class MyIterator implements Iterator { Iterator rci = rc.iterator(); Iterator ri = null; + public boolean hasNext() { - if ((ri == null || !ri.hasNext()) && rci.hasNext()) { + boolean result = ri != null && ri.hasNext(); + while (!result && rci.hasNext()) { ri = ((ResourceCollection) rci.next()).iterator(); + result = ri.hasNext(); } - return ri != null && ri.hasNext(); + return result; } public Object next() { if (!hasNext()) { @@ -95,7 +98,7 @@ } } - private Vector rc = null; + private Vector rc = new Vector(); private Collection coll = null; /** @@ -106,7 +109,9 @@ if (isReference()) { throw noChildrenAllowed(); } - rc = (rc == null) ? new Vector() : rc; + if (c == null) { + return; + } rc.add(c); FailFast.invalidate(this); coll = null; @@ -146,18 +151,9 @@ return getRef().isFilesystemOnly(); } validate(); - //first the easy way, if all children are filesystem-only, return true: - boolean goEarly = true; - for (Iterator i = rc.iterator(); goEarly && i.hasNext();) { - goEarly &= ((ResourceCollection) i.next()).isFilesystemOnly(); - } - if (goEarly) { - return true; - } - /* now check each Resource in case the child only - lets through files from any children IT may have: */ - for (Iterator i = coll.iterator(); i.hasNext();) { - if (!(i.next() instanceof FileResource)) { + + for (Iterator i = rc.iterator(); i.hasNext();) { + if ((!((ResourceCollection) i.next()).isFilesystemOnly())) { return false; } } @@ -200,9 +196,6 @@ private synchronized void validate() { dieOnCircularReference(); - if (rc == null || rc.size() == 0) { - throw new BuildException("Resources: no resources specified."); - } coll = (coll == null) ? new MyCollection() : coll; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]