Browse Source

performance improvement for <intersect>

Bugzilla Issue 57588
master
Stefan Bodewig 10 years ago
parent
commit
da83de9208
2 changed files with 10 additions and 7 deletions
  1. +3
    -0
      WHATSNEW
  2. +7
    -7
      src/main/org/apache/tools/ant/types/resources/Intersect.java

+ 3
- 0
WHATSNEW View File

@@ -98,6 +98,9 @@ Other changes:
* adapted unit tests to Java9 and added "javac1.9" as valid option
for javac's compiler attribute.

* performance improvements for <intersect>
Bugzilla Report 57588

Changes from Ant 1.9.3 TO Ant 1.9.4
===================================



+ 7
- 7
src/main/org/apache/tools/ant/types/resources/Intersect.java View File

@@ -17,10 +17,11 @@
*/
package org.apache.tools.ant.types.resources;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.types.Resource;
@@ -45,17 +46,16 @@ public class Intersect extends BaseResourceCollectionContainer {
+ " resource collection" + ((size == 1) ? "" : "s")
+ " is undefined.");
}
List<Resource> al = new ArrayList<Resource>();
Iterator<ResourceCollection> rc = rcs.iterator();
al.addAll(collect(rc.next()));
Set<Resource> s = new LinkedHashSet<Resource>(collect(rc.next()));
while (rc.hasNext()) {
al.retainAll(collect(rc.next()));
s.retainAll(collect(rc.next()));
}
return al;
return s;
}

private List<Resource> collect(ResourceCollection rc) {
List<Resource> result = new ArrayList<Resource>();
private Set<Resource> collect(ResourceCollection rc) {
Set<Resource> result = new LinkedHashSet<Resource>();
for (Resource r : rc) {
result.add(r);
}


Loading…
Cancel
Save