summaryrefslogtreecommitdiff
path: root/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java')
-rw-r--r--src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java62
1 files changed, 34 insertions, 28 deletions
diff --git a/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java b/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
index bb3cf54bf..5ea51c766 100644
--- a/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
+++ b/src/main/org/apache/tools/ant/types/optional/depend/DependScanner.java
@@ -19,8 +19,10 @@ package org.apache.tools.ant.types.optional.depend;
import java.io.File;
import java.util.Enumeration;
-import java.util.Hashtable;
+import java.util.Set;
import java.util.Vector;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
@@ -48,7 +50,7 @@ public class DependScanner extends DirectoryScanner {
*/
private Vector<String> included;
- private Vector<File> additionalBaseDirs = new Vector<File>();
+ private Vector<File> additionalBaseDirs = new Vector<>();
/**
* The parent scanner which gives the basic set of files. Only files which
@@ -82,15 +84,13 @@ public class DependScanner extends DirectoryScanner {
*
* @return the names of the files.
*/
+ @Override
public String[] getIncludedFiles() {
- String[] files = new String[getIncludedFilesCount()];
- for (int i = 0; i < files.length; i++) {
- files[i] = (String) included.elementAt(i);
- }
- return files;
+ return included.toArray(new String[getIncludedFilesCount()]);
}
/** {@inheritDoc}. */
+ @Override
public synchronized int getIncludedFilesCount() {
if (included == null) {
throw new IllegalStateException();
@@ -103,12 +103,14 @@ public class DependScanner extends DirectoryScanner {
*
* @exception IllegalStateException when basedir was set incorrectly.
*/
+ @Override
public synchronized void scan() throws IllegalStateException {
- included = new Vector<String>();
+ included = new Vector<>();
String analyzerClassName = DEFAULT_ANALYZER_CLASS;
- DependencyAnalyzer analyzer = null;
+ DependencyAnalyzer analyzer;
try {
- Class<? extends DependencyAnalyzer> analyzerClass = Class.forName(analyzerClassName)
+ Class<? extends DependencyAnalyzer> analyzerClass =
+ Class.forName(analyzerClassName)
.asSubclass(DependencyAnalyzer.class);
analyzer = analyzerClass.newInstance();
} catch (Exception e) {
@@ -116,28 +118,22 @@ public class DependScanner extends DirectoryScanner {
+ analyzerClassName, e);
}
analyzer.addClassPath(new Path(null, basedir.getPath()));
- for (Enumeration<File> e = additionalBaseDirs.elements(); e.hasMoreElements();) {
- File additionalBaseDir = e.nextElement();
- analyzer.addClassPath(new Path(null, additionalBaseDir.getPath()));
- }
+ additionalBaseDirs.stream().map(File::getPath)
+ .map(p -> new Path(null, p)).forEach(analyzer::addClassPath);
- for (Enumeration<String> e = rootClasses.elements(); e.hasMoreElements();) {
- String rootClass = e.nextElement();
- analyzer.addRootClass(rootClass);
- }
- Enumeration<String> e = analyzer.getClassDependencies();
+ rootClasses.forEach(analyzer::addRootClass);
- String[] parentFiles = parentScanner.getIncludedFiles();
- Hashtable<String, String> parentSet = new Hashtable<String, String>();
- for (int i = 0; i < parentFiles.length; ++i) {
- parentSet.put(parentFiles[i], parentFiles[i]);
- }
+ Set<String> parentSet = Stream.of(parentScanner.getIncludedFiles())
+ .collect(Collectors.toSet());
+
+ Enumeration<String> e = analyzer.getClassDependencies();
+
while (e.hasMoreElements()) {
- String classname = (String) e.nextElement();
- String filename = classname.replace('.', File.separatorChar);
- filename = filename + ".class";
+ String classname = e.nextElement();
+ String filename =
+ classname.replace('.', File.separatorChar) + ".class";
File depFile = new File(basedir, filename);
- if (depFile.exists() && parentSet.containsKey(filename)) {
+ if (depFile.exists() && parentSet.contains(filename)) {
// This is included
included.addElement(filename);
}
@@ -147,6 +143,7 @@ public class DependScanner extends DirectoryScanner {
/**
* @see DirectoryScanner#addDefaultExcludes
*/
+ @Override
public void addDefaultExcludes() {
}
@@ -154,6 +151,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#getExcludedDirectories
*/
/** {@inheritDoc}. */
+ @Override
public String[] getExcludedDirectories() {
return null;
}
@@ -162,6 +160,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#getExcludedFiles
*/
/** {@inheritDoc}. */
+ @Override
public String[] getExcludedFiles() {
return null;
}
@@ -170,6 +169,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#getIncludedDirectories
*/
/** {@inheritDoc}. */
+ @Override
public String[] getIncludedDirectories() {
return new String[0];
}
@@ -178,6 +178,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#getIncludedDirsCount
*/
/** {@inheritDoc}. */
+ @Override
public int getIncludedDirsCount() {
return 0;
}
@@ -186,6 +187,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#getNotIncludedDirectories
*/
/** {@inheritDoc}. */
+ @Override
public String[] getNotIncludedDirectories() {
return null;
}
@@ -194,6 +196,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#getNotIncludedFiles
*/
/** {@inheritDoc}. */
+ @Override
public String[] getNotIncludedFiles() {
return null;
}
@@ -202,6 +205,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#setExcludes
*/
/** {@inheritDoc}. */
+ @Override
public void setExcludes(String[] excludes) {
}
@@ -209,6 +213,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#setIncludes
*/
/** {@inheritDoc}. */
+ @Override
public void setIncludes(String[] includes) {
}
@@ -216,6 +221,7 @@ public class DependScanner extends DirectoryScanner {
* @see DirectoryScanner#setCaseSensitive
*/
/** {@inheritDoc}. */
+ @Override
public void setCaseSensitive(boolean isCaseSensitive) {
}