Browse Source

remove needless synchronization in DirectoryScanner.

Bugzilla Report 40237. 


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@442772 13f79535-47bb-0310-9956-ffa450edef68
master
Antoine Levy-Lambert 19 years ago
parent
commit
ed45d2f66a
2 changed files with 17 additions and 14 deletions
  1. +3
    -0
      WHATSNEW
  2. +14
    -14
      src/main/org/apache/tools/ant/DirectoryScanner.java

+ 3
- 0
WHATSNEW View File

@@ -61,6 +61,9 @@ Other changes:
location reflected into a method of the signature void setLocation(Location) location reflected into a method of the signature void setLocation(Location)
- if such a method exists. - if such a method exists.


* remove needless synchronization in DirectoryScanner.
Bugzilla report 40237.

Changes from Ant 1.6.5 to Ant 1.7.0Beta1 Changes from Ant 1.6.5 to Ant 1.7.0Beta1
======================================== ========================================




+ 14
- 14
src/main/org/apache/tools/ant/DirectoryScanner.java View File

@@ -20,23 +20,22 @@ package org.apache.tools.ant;


import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Map;
import java.util.Set;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Vector;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Vector;


import org.apache.tools.ant.taskdefs.condition.Os; import org.apache.tools.ant.taskdefs.condition.Os;
import org.apache.tools.ant.types.Resource; import org.apache.tools.ant.types.Resource;
import org.apache.tools.ant.types.ResourceFactory; import org.apache.tools.ant.types.ResourceFactory;
import org.apache.tools.ant.types.resources.FileResource;
import org.apache.tools.ant.types.selectors.FileSelector; import org.apache.tools.ant.types.selectors.FileSelector;
import org.apache.tools.ant.types.selectors.SelectorUtils;
import org.apache.tools.ant.types.selectors.SelectorScanner; import org.apache.tools.ant.types.selectors.SelectorScanner;
import org.apache.tools.ant.types.resources.FileResource;
import org.apache.tools.ant.types.selectors.SelectorUtils;
import org.apache.tools.ant.util.FileUtils; import org.apache.tools.ant.util.FileUtils;


/** /**
@@ -830,8 +829,8 @@ public class DirectoryScanner
* @since Ant 1.6 * @since Ant 1.6
*/ */
private void checkIncludePatterns() { private void checkIncludePatterns() {
Hashtable newroots = new Hashtable();
// put in the newroots vector the include patterns without
Map newroots = new HashMap();
// put in the newroots map the include patterns without
// wildcard tokens // wildcard tokens
for (int i = 0; i < includes.length; i++) { for (int i = 0; i < includes.length; i++) {
if (FileUtils.isAbsolutePath(includes[i])) { if (FileUtils.isAbsolutePath(includes[i])) {
@@ -854,7 +853,7 @@ public class DirectoryScanner
} else { } else {
// only scan directories that can include matched files or // only scan directories that can include matched files or
// directories // directories
Enumeration enum2 = newroots.keys();
Iterator it = newroots.entrySet().iterator();


File canonBase = null; File canonBase = null;
if (basedir != null) { if (basedir != null) {
@@ -864,12 +863,13 @@ public class DirectoryScanner
throw new BuildException(ex); throw new BuildException(ex);
} }
} }
while (enum2.hasMoreElements()) {
String currentelement = (String) enum2.nextElement();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry)it.next();
String currentelement = (String) entry.getKey();
if (basedir == null && !FileUtils.isAbsolutePath(currentelement)) { if (basedir == null && !FileUtils.isAbsolutePath(currentelement)) {
continue; continue;
} }
String originalpattern = (String) newroots.get(currentelement);
String originalpattern = (String) entry.getValue();
File myfile = new File(basedir, currentelement); File myfile = new File(basedir, currentelement);


if (myfile.exists()) { if (myfile.exists()) {


Loading…
Cancel
Save