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)
- if such a method exists.

* remove needless synchronization in DirectoryScanner.
Bugzilla report 40237.

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.IOException;
import java.util.Map;
import java.util.Set;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Vector;
import java.util.HashMap;
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.types.Resource;
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.SelectorUtils;
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;

/**
@@ -830,8 +829,8 @@ public class DirectoryScanner
* @since Ant 1.6
*/
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
for (int i = 0; i < includes.length; i++) {
if (FileUtils.isAbsolutePath(includes[i])) {
@@ -854,7 +853,7 @@ public class DirectoryScanner
} else {
// only scan directories that can include matched files or
// directories
Enumeration enum2 = newroots.keys();
Iterator it = newroots.entrySet().iterator();

File canonBase = null;
if (basedir != null) {
@@ -864,12 +863,13 @@ public class DirectoryScanner
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)) {
continue;
}
String originalpattern = (String) newroots.get(currentelement);
String originalpattern = (String) entry.getValue();
File myfile = new File(basedir, currentelement);

if (myfile.exists()) {


Loading…
Cancel
Save