diff --git a/src/main/org/apache/tools/ant/AntClassLoader.java b/src/main/org/apache/tools/ant/AntClassLoader.java index fcf923f6d..927b86be8 100644 --- a/src/main/org/apache/tools/ant/AntClassLoader.java +++ b/src/main/org/apache/tools/ant/AntClassLoader.java @@ -361,11 +361,9 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener, Clo public void setClassPath(final Path classpath) { pathComponents.removeAllElements(); if (classpath != null) { - final Path actualClasspath = classpath.concatSystemClasspath("ignore"); - final String[] pathElements = actualClasspath.list(); - for (int i = 0; i < pathElements.length; ++i) { + for (String pathElement : classpath.concatSystemClasspath("ignore").list()) { try { - addPathElement(pathElements[i]); + addPathElement(pathElement); } catch (final BuildException e) { // ignore path elements which are invalid // relative to the project diff --git a/src/main/org/apache/tools/ant/Diagnostics.java b/src/main/org/apache/tools/ant/Diagnostics.java index 7ba3cd905..54d2b8dc7 100644 --- a/src/main/org/apache/tools/ant/Diagnostics.java +++ b/src/main/org/apache/tools/ant/Diagnostics.java @@ -410,8 +410,7 @@ public final class Diagnostics { */ private static void doReportAntHomeLibraries(PrintStream out) { out.println(MagicNames.ANT_HOME + ": " + System.getProperty(MagicNames.ANT_HOME)); - File[] libs = listLibraries(); - printLibraries(libs, out); + printLibraries(listLibraries(), out); } /** @@ -423,8 +422,7 @@ public final class Diagnostics { String home = System.getProperty(Launcher.USER_HOMEDIR); out.println("user.home: " + home); File libDir = new File(home, Launcher.USER_LIBDIR); - File[] libs = listJarFiles(libDir); - printLibraries(libs, out); + printLibraries(listJarFiles(libDir), out); } /** @@ -437,8 +435,8 @@ public final class Diagnostics { out.println("No such directory."); return; } - for (int i = 0; i < libs.length; i++) { - out.println(libs[i].getName() + " (" + libs[i].length() + " bytes)"); + for (File lib : libs) { + out.println(lib.getName() + " (" + lib.length() + " bytes)"); } } diff --git a/src/main/org/apache/tools/ant/DirectoryScanner.java b/src/main/org/apache/tools/ant/DirectoryScanner.java index 7c540f06a..10b6fe124 100644 --- a/src/main/org/apache/tools/ant/DirectoryScanner.java +++ b/src/main/org/apache/tools/ant/DirectoryScanner.java @@ -1204,7 +1204,7 @@ public class DirectoryScanner } private void scandir(final File dir, final TokenizedPath path, final boolean fast, - String[] newfiles, final Deque directoryNamesFollowed) { + String[] newFiles, final Deque directoryNamesFollowed) { String vpath = path.toString(); if (vpath.length() > 0 && !vpath.endsWith(File.separator)) { vpath += File.separator; @@ -1216,16 +1216,16 @@ public class DirectoryScanner } if (!followSymlinks) { final ArrayList noLinks = new ArrayList<>(); - for (final String newfile : newfiles) { + for (final String newFile : newFiles) { final Path filePath; if (dir == null) { - filePath = Paths.get(newfile); + filePath = Paths.get(newFile); } else { - filePath = Paths.get(dir.toPath().toString(), newfile); + filePath = Paths.get(dir.toPath().toString(), newFile); } if (Files.isSymbolicLink(filePath)) { - final String name = vpath + newfile; - final File file = new File(dir, newfile); + final String name = vpath + newFile; + final File file = new File(dir, newFile); if (file.isDirectory()) { dirsExcluded.addElement(name); } else if (file.isFile()) { @@ -1233,18 +1233,18 @@ public class DirectoryScanner } accountForNotFollowedSymlink(name, file); } else { - noLinks.add(newfile); + noLinks.add(newFile); } } - newfiles = noLinks.toArray(new String[noLinks.size()]); + newFiles = noLinks.toArray(new String[noLinks.size()]); } else { directoryNamesFollowed.addFirst(dir.getName()); } - for (int i = 0; i < newfiles.length; i++) { - final String name = vpath + newfiles[i]; - final TokenizedPath newPath = new TokenizedPath(path, newfiles[i]); - final File file = new File(dir, newfiles[i]); + for (String newFile : newFiles) { + final String name = vpath + newFile; + final TokenizedPath newPath = new TokenizedPath(path, newFile); + final File file = new File(dir, newFile); final String[] children = file.list(); if (children == null || (children.length == 0 && file.isFile())) { if (isIncluded(newPath)) { @@ -1256,8 +1256,7 @@ public class DirectoryScanner } else if (file.isDirectory()) { // dir if (followSymlinks - && causesIllegalSymlinkLoop(newfiles[i], dir, - directoryNamesFollowed)) { + && causesIllegalSymlinkLoop(newFile, dir, directoryNamesFollowed)) { // will be caught and redirected to Ant's logging system System.err.println("skipping symbolic link " + file.getAbsolutePath() diff --git a/src/main/org/apache/tools/ant/IntrospectionHelper.java b/src/main/org/apache/tools/ant/IntrospectionHelper.java index 8c5e825b2..90820bdbe 100644 --- a/src/main/org/apache/tools/ant/IntrospectionHelper.java +++ b/src/main/org/apache/tools/ant/IntrospectionHelper.java @@ -179,10 +179,8 @@ public final class IntrospectionHelper { */ private IntrospectionHelper(final Class bean) { this.bean = bean; - final Method[] methods = bean.getMethods(); Method addTextMethod = null; - for (int i = 0; i < methods.length; i++) { - final Method m = methods[i]; + for (final Method m : bean.getMethods()) { final String name = m.getName(); final Class returnType = m.getReturnType(); final Class[] args = m.getParameterTypes(); @@ -205,7 +203,7 @@ public final class IntrospectionHelper { } if ("addText".equals(name) && Void.TYPE.equals(returnType) && args.length == 1 && String.class.equals(args[0])) { - addTextMethod = methods[i]; + addTextMethod = m; } else if (name.startsWith("set") && Void.TYPE.equals(returnType) && args.length == 1 && !args[0].isArray()) { final String propName = getPropertyName(name, "set"); @@ -1641,9 +1639,7 @@ public final class IntrospectionHelper { Class matchedClass = null; Method matchedMethod = null; - final int size = methods.size(); - for (int i = 0; i < size; ++i) { - final Method method = methods.get(i); + for (final Method method : methods) { final Class methodClass = method.getParameterTypes()[0]; if (methodClass.isAssignableFrom(paramClass)) { if (matchedClass == null) { @@ -1689,9 +1685,7 @@ public final class IntrospectionHelper { return null; } synchronized (definitions) { - final int size = definitions.size(); - for (int i = 0; i < size; ++i) { - final AntTypeDefinition d = definitions.get(i); + for (final AntTypeDefinition d : definitions) { final Class exposedClass = d.getExposedClass(helper.getProject()); if (exposedClass == null) { continue; diff --git a/src/main/org/apache/tools/ant/Project.java b/src/main/org/apache/tools/ant/Project.java index 9d4a99779..97414d00c 100644 --- a/src/main/org/apache/tools/ant/Project.java +++ b/src/main/org/apache/tools/ant/Project.java @@ -393,8 +393,8 @@ public class Project implements ResourceFactory { public void addBuildListener(final BuildListener listener) { synchronized (listenersLock) { // If the listeners already has this listener, do nothing - for (int i = 0; i < listeners.length; i++) { - if (listeners[i] == listener) { + for (BuildListener buildListener : listeners) { + if (buildListener == listener) { return; } } @@ -439,8 +439,8 @@ public class Project implements ResourceFactory { public Vector getBuildListeners() { synchronized (listenersLock) { final Vector r = new Vector<>(listeners.length); - for (int i = 0; i < listeners.length; i++) { - r.add(listeners[i]); + for (BuildListener listener : listeners) { + r.add(listener); } return r; } @@ -1826,13 +1826,13 @@ public class Project implements ResourceFactory { // dependency tree, not just on the Targets that depend on the // build Target. - for (int i = 0; i < roots.length; i++) { - final String st = state.get(roots[i]); + for (String root : roots) { + final String st = state.get(root); if (st == null) { - tsort(roots[i], targetTable, state, visiting, ret); + tsort(root, targetTable, state, visiting, ret); } else if (st == VISITING) { throw new BuildException("Unexpected node in visiting state: " - + roots[i]); + + root); } } final StringBuilder buf = new StringBuilder("Build sequence for target(s)"); @@ -2087,9 +2087,8 @@ public class Project implements ResourceFactory { */ public void fireBuildStarted() { final BuildEvent event = new BuildEvent(this); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - currListeners[i].buildStarted(event); + for (BuildListener currListener : listeners) { + currListener.buildStarted(event); } } @@ -2103,9 +2102,8 @@ public class Project implements ResourceFactory { public void fireBuildFinished(final Throwable exception) { final BuildEvent event = new BuildEvent(this); event.setException(exception); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - currListeners[i].buildFinished(event); + for (BuildListener currListener : listeners) { + currListener.buildFinished(event); } // Inform IH to clear the cache IntrospectionHelper.clearCache(); @@ -2119,10 +2117,9 @@ public class Project implements ResourceFactory { */ public void fireSubBuildStarted() { final BuildEvent event = new BuildEvent(this); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - if (currListeners[i] instanceof SubBuildListener) { - ((SubBuildListener) currListeners[i]).subBuildStarted(event); + for (BuildListener currListener : listeners) { + if (currListener instanceof SubBuildListener) { + ((SubBuildListener) currListener).subBuildStarted(event); } } } @@ -2139,10 +2136,9 @@ public class Project implements ResourceFactory { public void fireSubBuildFinished(final Throwable exception) { final BuildEvent event = new BuildEvent(this); event.setException(exception); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - if (currListeners[i] instanceof SubBuildListener) { - ((SubBuildListener) currListeners[i]).subBuildFinished(event); + for (BuildListener currListener : listeners) { + if (currListener instanceof SubBuildListener) { + ((SubBuildListener) currListener).subBuildFinished(event); } } } @@ -2156,9 +2152,8 @@ public class Project implements ResourceFactory { */ protected void fireTargetStarted(final Target target) { final BuildEvent event = new BuildEvent(target); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - currListeners[i].targetStarted(event); + for (BuildListener currListener : listeners) { + currListener.targetStarted(event); } } @@ -2176,9 +2171,8 @@ public class Project implements ResourceFactory { protected void fireTargetFinished(final Target target, final Throwable exception) { final BuildEvent event = new BuildEvent(target); event.setException(exception); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - currListeners[i].targetFinished(event); + for (BuildListener currListener : listeners) { + currListener.targetFinished(event); } } @@ -2194,9 +2188,8 @@ public class Project implements ResourceFactory { // register this as the current task on the current thread. registerThreadTask(Thread.currentThread(), task); final BuildEvent event = new BuildEvent(task); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - currListeners[i].taskStarted(event); + for (BuildListener currListener : listeners) { + currListener.taskStarted(event); } } @@ -2216,9 +2209,8 @@ public class Project implements ResourceFactory { System.err.flush(); final BuildEvent event = new BuildEvent(task); event.setException(exception); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - currListeners[i].taskFinished(event); + for (BuildListener currListener : listeners) { + currListener.taskFinished(event); } } @@ -2264,9 +2256,8 @@ public class Project implements ResourceFactory { } try { isLoggingMessage.set(Boolean.TRUE); - final BuildListener[] currListeners = listeners; - for (int i = 0; i < currListeners.length; i++) { - currListeners[i].messageLogged(event); + for (BuildListener currListener : listeners) { + currListener.messageLogged(event); } } finally { isLoggingMessage.set(Boolean.FALSE); @@ -2466,11 +2457,9 @@ public class Project implements ResourceFactory { return; } try { - final Method method = - obj.getClass().getMethod( - "setProject", new Class[] {Project.class}); + final Method method = obj.getClass().getMethod("setProject", Project.class); if (method != null) { - method.invoke(obj, new Object[] {this}); + method.invoke(obj, this); } } catch (final Throwable e) { // ignore this if the object does not have diff --git a/src/main/org/apache/tools/ant/ProjectHelper.java b/src/main/org/apache/tools/ant/ProjectHelper.java index 9bf9607ae..e0827a877 100644 --- a/src/main/org/apache/tools/ant/ProjectHelper.java +++ b/src/main/org/apache/tools/ant/ProjectHelper.java @@ -136,9 +136,9 @@ public class ProjectHelper { if (name == null) { throw new NullPointerException(); } - for (int i = 0; i < values.length; i++) { - if (name.equals(values[i].name())) { - return values[i]; + for (OnMissingExtensionPoint value : values) { + if (name.equals(value.name())) { + return value; } } throw new IllegalArgumentException( diff --git a/src/main/org/apache/tools/ant/PropertyHelper.java b/src/main/org/apache/tools/ant/PropertyHelper.java index a70a19b60..d0f33a10f 100644 --- a/src/main/org/apache/tools/ant/PropertyHelper.java +++ b/src/main/org/apache/tools/ant/PropertyHelper.java @@ -1131,11 +1131,11 @@ public class PropertyHelper implements GetProperty { final HashSet> result = new HashSet<>(); Class c = d.getClass(); while (c != null) { - Class[] ifs = c.getInterfaces(); - for (int i = 0; i < ifs.length; i++) { - if (Delegate.class.isAssignableFrom(ifs[i])) { + for (Class ifc : c.getInterfaces()) { + if (Delegate.class.isAssignableFrom(ifc)) { @SuppressWarnings("unchecked") - final Class delegateInterface = (Class) ifs[i]; + final Class delegateInterface = + (Class) ifc; result.add(delegateInterface); } } diff --git a/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java b/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java index f0b03d95f..d480f2953 100644 --- a/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java +++ b/src/main/org/apache/tools/ant/attribute/BaseIfAttribute.java @@ -20,7 +20,6 @@ package org.apache.tools.ant.attribute; import java.util.HashMap; import java.util.Hashtable; -import java.util.Iterator; import java.util.Map; import org.apache.tools.ant.ProjectComponent; @@ -72,9 +71,7 @@ public abstract class BaseIfAttribute Map ret = new HashMap<>(); RuntimeConfigurable rc = el.getWrapper(); Hashtable attributes = rc.getAttributeMap(); // This does a copy! - for (Iterator> i = - attributes.entrySet().iterator(); i.hasNext();) { - Map.Entry entry = i.next(); + for (Map.Entry entry : attributes.entrySet()) { String key = entry.getKey(); String value = (String) entry.getValue(); if (key.startsWith("ant-attribute:param")) { diff --git a/src/main/org/apache/tools/ant/filters/ConcatFilter.java b/src/main/org/apache/tools/ant/filters/ConcatFilter.java index 0ac6024b4..817572ff1 100644 --- a/src/main/org/apache/tools/ant/filters/ConcatFilter.java +++ b/src/main/org/apache/tools/ant/filters/ConcatFilter.java @@ -191,13 +191,13 @@ public final class ConcatFilter extends BaseParamFilterReader // get parameters final Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if ("prepend".equals(params[i].getName())) { - setPrepend(new File(params[i].getValue())); + for (Parameter param : params) { + if ("prepend".equals(param.getName())) { + setPrepend(new File(param.getValue())); continue; } - if ("append".equals(params[i].getName())) { - setAppend(new File(params[i].getValue())); + if ("append".equals(param.getName())) { + setAppend(new File(param.getValue())); continue; } } diff --git a/src/main/org/apache/tools/ant/filters/HeadFilter.java b/src/main/org/apache/tools/ant/filters/HeadFilter.java index 522fe57b5..29806b3d5 100644 --- a/src/main/org/apache/tools/ant/filters/HeadFilter.java +++ b/src/main/org/apache/tools/ant/filters/HeadFilter.java @@ -187,13 +187,13 @@ public final class HeadFilter extends BaseParamFilterReader private void initialize() { Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (LINES_KEY.equals(params[i].getName())) { - lines = Long.parseLong(params[i].getValue()); + for (Parameter param : params) { + if (LINES_KEY.equals(param.getName())) { + lines = Long.parseLong(param.getValue()); continue; } - if (SKIP_KEY.equals(params[i].getName())) { - skip = Long.parseLong(params[i].getValue()); + if (SKIP_KEY.equals(param.getName())) { + skip = Long.parseLong(param.getValue()); continue; } } diff --git a/src/main/org/apache/tools/ant/filters/LineContains.java b/src/main/org/apache/tools/ant/filters/LineContains.java index c83cae283..d74d4dd91 100644 --- a/src/main/org/apache/tools/ant/filters/LineContains.java +++ b/src/main/org/apache/tools/ant/filters/LineContains.java @@ -204,11 +204,11 @@ public final class LineContains private void initialize() { Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (CONTAINS_KEY.equals(params[i].getType())) { - contains.addElement(params[i].getValue()); - } else if (NEGATE_KEY.equals(params[i].getType())) { - setNegate(Project.toBoolean(params[i].getValue())); + for (Parameter param : params) { + if (CONTAINS_KEY.equals(param.getType())) { + contains.addElement(param.getValue()); + } else if (NEGATE_KEY.equals(param.getType())) { + setNegate(Project.toBoolean(param.getValue())); } } } diff --git a/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java b/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java index 4e836ef68..9ec7d333b 100644 --- a/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java +++ b/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java @@ -237,13 +237,13 @@ public final class LineContainsRegExp private void initialize() { Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (REGEXP_KEY.equals(params[i].getType())) { - setRegexp(params[i].getValue()); - } else if (NEGATE_KEY.equals(params[i].getType())) { - setNegate(Project.toBoolean(params[i].getValue())); - } else if (CS_KEY.equals(params[i].getType())) { - setCaseSensitive(Project.toBoolean(params[i].getValue())); + for (Parameter param : params) { + if (REGEXP_KEY.equals(param.getType())) { + setRegexp(param.getValue()); + } else if (NEGATE_KEY.equals(param.getType())) { + setNegate(Project.toBoolean(param.getValue())); + } else if (CS_KEY.equals(param.getType())) { + setCaseSensitive(Project.toBoolean(param.getValue())); } } } diff --git a/src/main/org/apache/tools/ant/filters/PrefixLines.java b/src/main/org/apache/tools/ant/filters/PrefixLines.java index 324397e8b..e125aa326 100644 --- a/src/main/org/apache/tools/ant/filters/PrefixLines.java +++ b/src/main/org/apache/tools/ant/filters/PrefixLines.java @@ -153,9 +153,9 @@ public final class PrefixLines private void initialize() { Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (PREFIX_KEY.equals(params[i].getName())) { - prefix = params[i].getValue(); + for (Parameter param : params) { + if (PREFIX_KEY.equals(param.getName())) { + prefix = param.getValue(); break; } } diff --git a/src/main/org/apache/tools/ant/filters/SortFilter.java b/src/main/org/apache/tools/ant/filters/SortFilter.java index 056ad6a74..be08acb32 100644 --- a/src/main/org/apache/tools/ant/filters/SortFilter.java +++ b/src/main/org/apache/tools/ant/filters/SortFilter.java @@ -314,19 +314,18 @@ public final class SortFilter extends BaseParamFilterReader // get parameters Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - final String paramName = params[i].getName(); + for (Parameter param : params) { + final String paramName = param.getName(); if (REVERSE_KEY.equals(paramName)) { - setReverse(Boolean.valueOf(params[i].getValue()) - .booleanValue()); + setReverse(Boolean.valueOf(param.getValue()).booleanValue()); continue; } if (COMPARATOR_KEY.equals(paramName)) { try { - String className = (String) params[i].getValue(); + String className = (String) param.getValue(); @SuppressWarnings("unchecked") - final Comparator comparatorInstance = (Comparator) (Class - .forName(className).newInstance()); + final Comparator comparatorInstance + = (Comparator) (Class.forName(className).newInstance()); setComparator(comparatorInstance); continue; } catch (InstantiationException e) { diff --git a/src/main/org/apache/tools/ant/filters/StripLineBreaks.java b/src/main/org/apache/tools/ant/filters/StripLineBreaks.java index 9a97940a8..9ba70dd5b 100644 --- a/src/main/org/apache/tools/ant/filters/StripLineBreaks.java +++ b/src/main/org/apache/tools/ant/filters/StripLineBreaks.java @@ -140,9 +140,9 @@ public final class StripLineBreaks String userDefinedLineBreaks = null; Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (LINE_BREAKS_KEY.equals(params[i].getName())) { - userDefinedLineBreaks = params[i].getValue(); + for (Parameter param : params) { + if (LINE_BREAKS_KEY.equals(param.getName())) { + userDefinedLineBreaks = param.getValue(); break; } } diff --git a/src/main/org/apache/tools/ant/filters/StripLineComments.java b/src/main/org/apache/tools/ant/filters/StripLineComments.java index e3d240bad..0dbb3079c 100644 --- a/src/main/org/apache/tools/ant/filters/StripLineComments.java +++ b/src/main/org/apache/tools/ant/filters/StripLineComments.java @@ -186,9 +186,9 @@ public final class StripLineComments private void initialize() { Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (COMMENTS_KEY.equals(params[i].getType())) { - comments.addElement(params[i].getValue()); + for (Parameter param : params) { + if (COMMENTS_KEY.equals(param.getType())) { + comments.addElement(param.getValue()); } } } diff --git a/src/main/org/apache/tools/ant/filters/SuffixLines.java b/src/main/org/apache/tools/ant/filters/SuffixLines.java index 23d9b534b..9c22d2b1b 100644 --- a/src/main/org/apache/tools/ant/filters/SuffixLines.java +++ b/src/main/org/apache/tools/ant/filters/SuffixLines.java @@ -163,9 +163,9 @@ public final class SuffixLines private void initialize() { Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (SUFFIX_KEY.equals(params[i].getName())) { - suffix = params[i].getValue(); + for (Parameter param : params) { + if (SUFFIX_KEY.equals(param.getName())) { + suffix = param.getValue(); break; } } diff --git a/src/main/org/apache/tools/ant/filters/TabsToSpaces.java b/src/main/org/apache/tools/ant/filters/TabsToSpaces.java index adaaa7afe..15c7c500d 100644 --- a/src/main/org/apache/tools/ant/filters/TabsToSpaces.java +++ b/src/main/org/apache/tools/ant/filters/TabsToSpaces.java @@ -142,10 +142,10 @@ public final class TabsToSpaces private void initialize() { Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (params[i] != null) { - if (TAB_LENGTH_KEY.equals(params[i].getName())) { - tabLength = Integer.parseInt(params[i].getValue()); + for (Parameter param : params) { + if (param != null) { + if (TAB_LENGTH_KEY.equals(param.getName())) { + tabLength = Integer.parseInt(param.getValue()); break; } } diff --git a/src/main/org/apache/tools/ant/filters/TailFilter.java b/src/main/org/apache/tools/ant/filters/TailFilter.java index fcc84d168..0f264969c 100644 --- a/src/main/org/apache/tools/ant/filters/TailFilter.java +++ b/src/main/org/apache/tools/ant/filters/TailFilter.java @@ -187,13 +187,13 @@ public final class TailFilter extends BaseParamFilterReader private void initialize() { Parameter[] params = getParameters(); if (params != null) { - for (int i = 0; i < params.length; i++) { - if (LINES_KEY.equals(params[i].getName())) { - setLines(Long.parseLong(params[i].getValue())); + for (Parameter param : params) { + if (LINES_KEY.equals(param.getName())) { + setLines(Long.parseLong(param.getValue())); continue; } - if (SKIP_KEY.equals(params[i].getName())) { - skip = Long.parseLong(params[i].getValue()); + if (SKIP_KEY.equals(param.getName())) { + skip = Long.parseLong(param.getValue()); continue; } } diff --git a/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java b/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java index b0c67ce2d..4e9752135 100644 --- a/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java +++ b/src/main/org/apache/tools/ant/filters/util/JavaClassHelper.java @@ -48,8 +48,7 @@ public final class JavaClassHelper { final ClassParser parser = new ClassParser(bis, ""); final JavaClass javaClass = parser.parse(); final Field[] fields = javaClass.getFields(); - for (int i = 0; i < fields.length; i++) { - final Field field = fields[i]; + for (final Field field : fields) { if (field != null) { final ConstantValue cv = field.getConstantValue(); if (cv != null) { diff --git a/src/main/org/apache/tools/ant/helper/DefaultExecutor.java b/src/main/org/apache/tools/ant/helper/DefaultExecutor.java index cdbc587ce..dbdd36e5a 100644 --- a/src/main/org/apache/tools/ant/helper/DefaultExecutor.java +++ b/src/main/org/apache/tools/ant/helper/DefaultExecutor.java @@ -36,9 +36,9 @@ public class DefaultExecutor implements Executor { public void executeTargets(Project project, String[] targetNames) throws BuildException { BuildException thrownException = null; - for (int i = 0; i < targetNames.length; i++) { + for (String targetName : targetNames) { try { - project.executeTarget(targetNames[i]); + project.executeTarget(targetName); } catch (BuildException ex) { if (project.isKeepGoingMode()) { thrownException = ex; diff --git a/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java b/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java index da85dba75..be0a28962 100644 --- a/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java +++ b/src/main/org/apache/tools/ant/helper/IgnoreDependenciesExecutor.java @@ -42,11 +42,11 @@ public class IgnoreDependenciesExecutor implements Executor { throws BuildException { Hashtable targets = project.getTargets(); BuildException thrownException = null; - for (int i = 0; i < targetNames.length; i++) { + for (String targetName : targetNames) { try { - Target t = targets.get(targetNames[i]); + Target t = targets.get(targetName); if (t == null) { - throw new BuildException("Unknown target " + targetNames[i]); + throw new BuildException("Unknown target " + targetName); } t.performTasks(); } catch (BuildException ex) { diff --git a/src/main/org/apache/tools/ant/launch/Launcher.java b/src/main/org/apache/tools/ant/launch/Launcher.java index e93c94cf7..7ee15b154 100644 --- a/src/main/org/apache/tools/ant/launch/Launcher.java +++ b/src/main/org/apache/tools/ant/launch/Launcher.java @@ -144,10 +144,11 @@ public class Launcher { } if (getJars && element.isDirectory()) { // add any jars in the directory - final URL[] dirURLs = Locator.getLocationURLs(element); - for (int j = 0; j < dirURLs.length; ++j) { - if (launchDiag) { System.out.println("adding library JAR: " + dirURLs[j]);} - libPathURLs.add(dirURLs[j]); + for (URL dirURL : Locator.getLocationURLs(element)) { + if (launchDiag) { + System.out.println("adding library JAR: " + dirURL); + } + libPathURLs.add(dirURL); } } @@ -265,9 +266,9 @@ public class Launcher { baseClassPath.setLength(baseClassPath.length() - 1); } - for (int i = 0; i < jars.length; ++i) { + for (URL jar : jars) { baseClassPath.append(File.pathSeparatorChar); - baseClassPath.append(Locator.fromURI(jars[i].toString())); + baseClassPath.append(Locator.fromURI(jar.toString())); } setProperty(JAVA_CLASS_PATH, baseClassPath.toString()); diff --git a/src/main/org/apache/tools/ant/launch/Locator.java b/src/main/org/apache/tools/ant/launch/Locator.java index 79ef29dee..c9a4d83b5 100644 --- a/src/main/org/apache/tools/ant/launch/Locator.java +++ b/src/main/org/apache/tools/ant/launch/Locator.java @@ -86,10 +86,7 @@ public final class Locator { gAfterEscaping2[DEL] = 'F'; char[] escChs = {' ', '<', '>', '#', '%', '"', '{', '}', '|', '\\', '^', '~', '[', ']', '`'}; - int len = escChs.length; - char ch; - for (int i = 0; i < len; i++) { - ch = escChs[i]; + for (char ch : escChs) { gNeedEscaping[ch] = true; gAfterEscaping1[ch] = gHexChs[ch >> NIBBLE]; gAfterEscaping2[ch] = gHexChs[ch & NIBBLE_MASK]; @@ -485,8 +482,8 @@ public final class Locator { urls = new URL[1]; String path = location.getPath(); String littlePath = path.toLowerCase(Locale.ENGLISH); - for (int i = 0; i < extensions.length; ++i) { - if (littlePath.endsWith(extensions[i])) { + for (String extension : extensions) { + if (littlePath.endsWith(extension)) { urls[0] = fileToURL(location); break; } diff --git a/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java b/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java index 2c9b959ba..a83b8ba2e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java @@ -430,10 +430,10 @@ public abstract class AbstractCvsTask extends Task { buf.append(newLine); buf.append("environment:"); buf.append(newLine); - for (int z = 0; z < variableArray.length; z++) { + for (String variable : variableArray) { buf.append(newLine); buf.append("\t"); - buf.append(variableArray[z]); + buf.append(variable); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/AntStructure.java b/src/main/org/apache/tools/ant/taskdefs/AntStructure.java index 977921c3b..4ebef0237 100644 --- a/src/main/org/apache/tools/ant/taskdefs/AntStructure.java +++ b/src/main/org/apache/tools/ant/taskdefs/AntStructure.java @@ -428,8 +428,8 @@ public class AntStructure extends Task { * @return true if all the strings in the array math XML-NMTOKEN */ public static final boolean areNmtokens(final String[] s) { - for (int i = 0; i < s.length; i++) { - if (!isNmtoken(s[i])) { + for (String value : s) { + if (!isNmtoken(value)) { return false; } } diff --git a/src/main/org/apache/tools/ant/taskdefs/Checksum.java b/src/main/org/apache/tools/ant/taskdefs/Checksum.java index 887081d35..f089ad77d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Checksum.java +++ b/src/main/org/apache/tools/ant/taskdefs/Checksum.java @@ -579,8 +579,8 @@ public class Checksum extends MatchingTask implements Condition { private String createDigestString(byte[] fileDigest) { StringBuilder checksumSb = new StringBuilder(); - for (int i = 0; i < fileDigest.length; i++) { - String hexStr = Integer.toHexString(BYTE_MASK & fileDigest[i]); + for (byte digestByte : fileDigest) { + String hexStr = Integer.toHexString(BYTE_MASK & digestByte); if (hexStr.length() < 2) { checksumSb.append('0'); } diff --git a/src/main/org/apache/tools/ant/taskdefs/Classloader.java b/src/main/org/apache/tools/ant/taskdefs/Classloader.java index 5d97e7932..cf0dcb543 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Classloader.java +++ b/src/main/org/apache/tools/ant/taskdefs/Classloader.java @@ -221,9 +221,8 @@ public class Classloader extends Task { } if (existingLoader && classpath != null) { - String[] list = classpath.list(); - for (int i = 0; i < list.length; i++) { - File f = new File(list[i]); + for (String path : classpath.list()) { + File f = new File(path); if (f.exists()) { log("Adding to class loader " + acl + " " + f.getAbsolutePath(), Project.MSG_DEBUG); diff --git a/src/main/org/apache/tools/ant/taskdefs/Copy.java b/src/main/org/apache/tools/ant/taskdefs/Copy.java index c4a112b70..de7badb1d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Copy.java +++ b/src/main/org/apache/tools/ant/taskdefs/Copy.java @@ -774,9 +774,9 @@ public class Copy extends Task { String[] toCopy = null; if (forceOverwrite) { final Vector v = new Vector(); - for (int i = 0; i < names.length; i++) { - if (mapper.mapFileName(names[i]) != null) { - v.addElement(names[i]); + for (String name : names) { + if (mapper.mapFileName(name) != null) { + v.addElement(name); } } toCopy = new String[v.size()]; @@ -785,16 +785,16 @@ public class Copy extends Task { final SourceFileScanner ds = new SourceFileScanner(this); toCopy = ds.restrict(names, fromDir, toDir, mapper, granularity); } - for (int i = 0; i < toCopy.length; i++) { - final File src = new File(fromDir, toCopy[i]); - final String[] mappedFiles = mapper.mapFileName(toCopy[i]); + for (String name : toCopy) { + final File src = new File(fromDir, name); + final String[] mappedFiles = mapper.mapFileName(name); if (mappedFiles == null || mappedFiles.length == 0) { continue; } if (!enableMultipleMappings) { map.put(src.getAbsolutePath(), - new String[] {new File(toDir, mappedFiles[0]).getAbsolutePath()}); + new String[]{new File(toDir, mappedFiles[0]).getAbsolutePath()}); } else { // reuse the array created by the mapper for (int k = 0; k < mappedFiles.length; k++) { @@ -820,9 +820,9 @@ public class Copy extends Task { Resource[] toCopy; if (forceOverwrite) { final List v = new ArrayList<>(); - for (int i = 0; i < fromResources.length; i++) { - if (mapper.mapFileName(fromResources[i].getName()) != null) { - v.add(fromResources[i]); + for (Resource rc : fromResources) { + if (mapper.mapFileName(rc.getName()) != null) { + v.add(rc); } } toCopy = v.toArray(new Resource[v.size()]); @@ -832,22 +832,21 @@ public class Copy extends Task { (ResourceFactory) name -> new FileResource(toDir, name), granularity); } - for (int i = 0; i < toCopy.length; i++) { - final String[] mappedFiles = mapper.mapFileName(toCopy[i].getName()); + for (Resource rc : toCopy) { + final String[] mappedFiles = mapper.mapFileName(rc.getName()); if (mappedFiles == null || mappedFiles.length == 0) { throw new BuildException("Can't copy a resource without a" + " name if the mapper doesn't" + " provide one."); } if (!enableMultipleMappings) { - map.put(toCopy[i], - new String[] {new File(toDir, mappedFiles[0]).getAbsolutePath()}); + map.put(rc, new String[]{new File(toDir, mappedFiles[0]).getAbsolutePath()}); } else { // reuse the array created by the mapper for (int k = 0; k < mappedFiles.length; k++) { mappedFiles[k] = new File(toDir, mappedFiles[k]).getAbsolutePath(); } - map.put(toCopy[i], mappedFiles); + map.put(rc, mappedFiles); } } return map; @@ -865,9 +864,8 @@ public class Copy extends Task { for (final Map.Entry e : fileCopyMap.entrySet()) { final String fromFile = e.getKey(); - final String[] toFiles = e.getValue(); - for (final String toFile : toFiles) { + for (final String toFile : e.getValue()) { if (fromFile.equals(toFile)) { log("Skipping self-copy of " + fromFile, verbosity); continue; diff --git a/src/main/org/apache/tools/ant/taskdefs/CopyPath.java b/src/main/org/apache/tools/ant/taskdefs/CopyPath.java index afedf70e5..e5003d1e8 100644 --- a/src/main/org/apache/tools/ant/taskdefs/CopyPath.java +++ b/src/main/org/apache/tools/ant/taskdefs/CopyPath.java @@ -177,17 +177,15 @@ public class CopyPath extends Task { return; } - for (int sources = 0; sources < sourceFiles.length; sources++) { + for (String sourceFileName : sourceFiles) { - String sourceFileName = sourceFiles[sources]; File sourceFile = new File(sourceFileName); String[] toFiles = (String[]) mapper.mapFileName(sourceFileName); if (toFiles == null) { continue; } - for (int i = 0; i < toFiles.length; i++) { - String destFileName = toFiles[i]; + for (String destFileName : toFiles) { File destFile = new File(destDir, destFileName); if (sourceFile.equals(destFile)) { diff --git a/src/main/org/apache/tools/ant/taskdefs/Copydir.java b/src/main/org/apache/tools/ant/taskdefs/Copydir.java index 7a099abbb..bc8bb5ff9 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Copydir.java +++ b/src/main/org/apache/tools/ant/taskdefs/Copydir.java @@ -146,8 +146,7 @@ public class Copydir extends MatchingTask { } private void scanDir(File from, File to, String[] files) { - for (int i = 0; i < files.length; i++) { - String filename = files[i]; + for (String filename : files) { File srcFile = new File(from, filename); File destFile; if (flatten) { diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java index ddb16ba29..2d1ab22b4 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Delete.java +++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java @@ -663,8 +663,7 @@ public class Delete extends MatchingTask { } final int size = filesets.size(); - for (int i = 0; i < size; i++) { - FileSet fs = filesets.get(i); + for (FileSet fs : filesets) { if (fs.getProject() == null) { log("Deleting fileset with no project specified; assuming executing project", Project.MSG_VERBOSE); @@ -713,8 +712,8 @@ public class Delete extends MatchingTask { String[] links = new String[n.length]; System.arraycopy(n, 0, links, 0, n.length); Arrays.sort(links, Comparator.reverseOrder()); - for (int l = 0; l < links.length; l++) { - final Path filePath = Paths.get(links[l]); + for (String link : links) { + final Path filePath = Paths.get(link); if (!Files.isSymbolicLink(filePath)) { // it's not a symbolic link, so move on continue; @@ -814,8 +813,7 @@ public class Delete extends MatchingTask { if (list == null) { list = new String[0]; } - for (int i = 0; i < list.length; i++) { - String s = list[i]; + for (String s : list) { File f = new File(d, s); if (f.isDirectory()) { removeDir(f); @@ -843,8 +841,8 @@ public class Delete extends MatchingTask { if (files.length > 0) { log("Deleting " + files.length + " files from " + d.getAbsolutePath(), quiet ? Project.MSG_VERBOSE : verbosity); - for (int j = 0; j < files.length; j++) { - File f = new File(d, files[j]); + for (String filename : files) { + File f = new File(d, filename); log("Deleting " + f.getAbsolutePath(), quiet ? Project.MSG_VERBOSE : verbosity); if (!delete(f)) { diff --git a/src/main/org/apache/tools/ant/taskdefs/Deltree.java b/src/main/org/apache/tools/ant/taskdefs/Deltree.java index 7290a6307..8657d76c1 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Deltree.java +++ b/src/main/org/apache/tools/ant/taskdefs/Deltree.java @@ -90,9 +90,7 @@ public class Deltree extends Task { // if (dir.getCanonicalPath().equals(dir.getAbsolutePath())) { // (costin) It will not work if /home/costin is symlink to // /da0/home/costin ( taz for example ) - String[] list = dir.list(); - for (int i = 0; i < list.length; i++) { - String s = list[i]; + for (String s : dir.list()) { File f = new File(dir, s); if (f.isDirectory()) { removeDir(f); diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecTask.java b/src/main/org/apache/tools/ant/taskdefs/ExecTask.java index 1a8956f66..4159c39f6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/ExecTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/ExecTask.java @@ -446,9 +446,9 @@ public class ExecTask extends Task { Path p = null; String[] environment = env.getVariables(); if (environment != null) { - for (int i = 0; i < environment.length; i++) { - if (isPath(environment[i])) { - p = new Path(getProject(), getPath(environment[i])); + for (String variable : environment) { + if (isPath(variable)) { + p = new Path(getProject(), getPath(variable)); break; } } @@ -460,10 +460,9 @@ public class ExecTask extends Task { } } if (p != null) { - String[] dirs = p.list(); - for (int i = 0; i < dirs.length; i++) { + for (String pathname : p.list()) { executableFile - = FILE_UTILS.resolveFile(new File(dirs[i]), exec); + = FILE_UTILS.resolveFile(new File(pathname), exec); if (executableFile.exists()) { return executableFile.getAbsolutePath(); } @@ -605,9 +604,9 @@ public class ExecTask extends Task { exe.setVMLauncher(vmLauncher); String[] environment = env.getVariables(); if (environment != null) { - for (int i = 0; i < environment.length; i++) { - log("Setting environment variable: " + environment[i], - Project.MSG_VERBOSE); + for (String variable : environment) { + log("Setting environment variable: " + variable, + Project.MSG_VERBOSE); } } exe.setNewenvironment(newEnvironment); diff --git a/src/main/org/apache/tools/ant/taskdefs/Execute.java b/src/main/org/apache/tools/ant/taskdefs/Execute.java index 8063a9977..0968404b1 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Execute.java +++ b/src/main/org/apache/tools/ant/taskdefs/Execute.java @@ -614,8 +614,7 @@ public class Execute { } Map osEnv = new LinkedHashMap<>(getEnvironmentVariables()); - for (int i = 0; i < env.length; i++) { - String keyValue = env[i]; + for (String keyValue : env) { String key = keyValue.substring(0, keyValue.indexOf('=')); // Find the key in the current environment copy // and remove it. diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java b/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java index 1f3803885..e9f444e70 100644 --- a/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java +++ b/src/main/org/apache/tools/ant/taskdefs/ExecuteJava.java @@ -275,9 +275,8 @@ public class ExecuteJava implements Runnable, TimeoutObserver { public int fork(ProjectComponent pc) throws BuildException { CommandlineJava cmdl = new CommandlineJava(); cmdl.setClassname(javaCommand.getExecutable()); - String[] args = javaCommand.getArguments(); - for (int i = 0; i < args.length; i++) { - cmdl.createArgument().setValue(args[i]); + for (String arg : javaCommand.getArguments()) { + cmdl.createArgument().setValue(arg); } if (classpath != null) { cmdl.createClasspath(pc.getProject()).append(classpath); diff --git a/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java b/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java index 7202211cf..7825fac86 100644 --- a/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java +++ b/src/main/org/apache/tools/ant/taskdefs/ExecuteOn.java @@ -374,18 +374,16 @@ public class ExecuteOn extends ExecTask { DirectoryScanner ds = fs.getDirectoryScanner(getProject()); if (!FileDirBoth.DIR.equals(currentType)) { - String[] s = getFiles(base, ds); - for (int j = 0; j < s.length; j++) { + for (String value : getFiles(base, ds)) { totalFiles++; - fileNames.add(s[j]); + fileNames.add(value); baseDirs.add(base); } } if (!FileDirBoth.FILE.equals(currentType)) { - String[] s = getDirs(base, ds); - for (int j = 0; j < s.length; j++) { + for (String value : getDirs(base, ds)) { totalDirs++; - fileNames.add(s[j]); + fileNames.add(value); baseDirs.add(base); } } @@ -520,8 +518,8 @@ public class ExecuteOn extends ExecTask { List targets = new ArrayList<>(); if (targetFilePos != null) { Set addedFiles = new HashSet<>(); - for (int i = 0; i < srcFiles.length; i++) { - String[] subTargets = mapper.mapFileName(srcFiles[i]); + for (String srcFile : srcFiles) { + String[] subTargets = mapper.mapFileName(srcFile); if (subTargets != null) { for (String subTarget : subTargets) { String name; diff --git a/src/main/org/apache/tools/ant/taskdefs/Expand.java b/src/main/org/apache/tools/ant/taskdefs/Expand.java index 6ae42e881..963561b43 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Expand.java +++ b/src/main/org/apache/tools/ant/taskdefs/Expand.java @@ -275,18 +275,16 @@ public class Expand extends Task { boolean included = false; Set includePatterns = new HashSet<>(); Set excludePatterns = new HashSet<>(); - final int size = patternsets.size(); - for (int v = 0; v < size; v++) { - PatternSet p = patternsets.get(v); + for (PatternSet p : patternsets) { String[] incls = p.getIncludePatterns(getProject()); if (incls == null || incls.length == 0) { // no include pattern implicitly means includes="**" - incls = new String[] {"**"}; + incls = new String[]{"**"}; } - for (int w = 0; w < incls.length; w++) { - String pattern = incls[w].replace('/', File.separatorChar) - .replace('\\', File.separatorChar); + for (String incl : incls) { + String pattern = incl.replace('/', File.separatorChar) + .replace('\\', File.separatorChar); if (pattern.endsWith(File.separator)) { pattern += "**"; } @@ -295,10 +293,9 @@ public class Expand extends Task { String[] excls = p.getExcludePatterns(getProject()); if (excls != null) { - for (int w = 0; w < excls.length; w++) { - String pattern = excls[w] - .replace('/', File.separatorChar) - .replace('\\', File.separatorChar); + for (String excl : excls) { + String pattern = excl.replace('/', File.separatorChar) + .replace('\\', File.separatorChar); if (pattern.endsWith(File.separator)) { pattern += "**"; } diff --git a/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java b/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java index 9660ec4ff..559be016a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java +++ b/src/main/org/apache/tools/ant/taskdefs/FixCRLF.java @@ -302,10 +302,9 @@ public class FixCRLF extends MatchingTask implements ChainableReader { Project.MSG_VERBOSE); DirectoryScanner ds = super.getDirectoryScanner(srcDir); - String[] files = ds.getIncludedFiles(); - for (int i = 0; i < files.length; i++) { - processFile(files[i]); + for (String filename : ds.getIncludedFiles()) { + processFile(filename); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/Jar.java b/src/main/org/apache/tools/ant/taskdefs/Jar.java index 3797e8987..04b1f570d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Jar.java +++ b/src/main/org/apache/tools/ant/taskdefs/Jar.java @@ -533,10 +533,8 @@ public class Jar extends Zip { private void writeManifest(ZipOutputStream zOut, Manifest manifest) throws IOException { - for (Enumeration e = manifest.getWarnings(); - e.hasMoreElements();) { - log("Manifest warning: " + e.nextElement(), - Project.MSG_WARN); + for (String warning : Collections.list(manifest.getWarnings())) { + log("Manifest warning: " + warning, Project.MSG_WARN); } zipDir((Resource) null, zOut, "META-INF/", ZipFileSet.DEFAULT_DIR_MODE, @@ -621,13 +619,12 @@ public class Jar extends Zip { cpEntries[c++] = tok.nextToken(); } } - String[] indexJarEntries = indexJars.list(); - for (int i = 0; i < indexJarEntries.length; i++) { - String name = findJarName(indexJarEntries[i], cpEntries); + for (String indexJarEntry : indexJars.list()) { + String name = findJarName(indexJarEntry, cpEntries); if (name != null) { ArrayList dirs = new ArrayList(); ArrayList files = new ArrayList(); - grabFilesAndDirs(indexJarEntries[i], dirs, files); + grabFilesAndDirs(indexJarEntry, dirs, files); if (dirs.size() + files.size() > 0) { writer.println(name); writeIndexLikeList(dirs, files, writer); @@ -777,8 +774,8 @@ public class Jar extends Zip { // checks here deferring them for the second run Resource[][] manifests = grabManifests(rcs); int count = 0; - for (int i = 0; i < manifests.length; i++) { - count += manifests[i].length; + for (Resource[] mf : manifests) { + count += mf.length; } log("found a total of " + count + " manifests in " + manifests.length + " resource collections", diff --git a/src/main/org/apache/tools/ant/taskdefs/Javac.java b/src/main/org/apache/tools/ant/taskdefs/Javac.java index 0302be64a..c2001681e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Javac.java +++ b/src/main/org/apache/tools/ant/taskdefs/Javac.java @@ -1156,9 +1156,8 @@ public class Javac extends MatchingTask { */ protected void scanDir(final File srcDir, final File destDir, final String[] files) { final GlobPatternMapper m = new GlobPatternMapper(); - final String[] extensions = findSupportedFileExtensions(); - for (String extension : extensions) { + for (String extension : findSupportedFileExtensions()) { m.setFrom(extension); m.setTo("*.class"); final SourceFileScanner sfs = new SourceFileScanner(this); @@ -1178,9 +1177,8 @@ public class Javac extends MatchingTask { } private void collectFileListFromSourcePath() { - final String[] list = src.list(); - for (int i = 0; i < list.length; i++) { - final File srcDir = getProject().resolveFile(list[i]); + for (String filename : src.list()) { + final File srcDir = getProject().resolveFile(filename); if (!srcDir.exists()) { throw new BuildException("srcdir \"" + srcDir.getPath() diff --git a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java index 37f53e3d7..8b2150c7c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Javadoc.java +++ b/src/main/org/apache/tools/ant/taskdefs/Javadoc.java @@ -1922,18 +1922,14 @@ public class Javadoc extends Task { toExecute.createArgument().setPath(docletPath); } } - for (final Enumeration e = doclet.getParams(); - e.hasMoreElements();) { - final DocletParam param = e.nextElement(); + for (final DocletParam param : Collections.list(doclet.getParams())) { if (param.getName() == null) { - throw new BuildException( - "Doclet parameters must have a name"); + throw new BuildException("Doclet parameters must have a name"); } toExecute.createArgument().setValue(param.getName()); if (param.getValue() != null) { - toExecute.createArgument() - .setValue(param.getValue()); + toExecute.createArgument().setValue(param.getValue()); } } } @@ -2123,8 +2119,7 @@ public class Javadoc extends Task { // -tag arguments. final DirectoryScanner tagDefScanner = ta.getDirectoryScanner(getProject()); - final String[] files = tagDefScanner.getIncludedFiles(); - for (String file : files) { + for (String file : tagDefScanner.getIncludedFiles()) { final File tagDefFile = new File(tagDir, file); try (final BufferedReader in = new BufferedReader(new FileReader(tagDefFile))) { @@ -2244,9 +2239,8 @@ public class Javadoc extends Task { } private boolean containsWhitespace(final String s) { - final int len = s.length(); - for (int i = 0; i < len; i++) { - if (Character.isWhitespace(s.charAt(i))) { + for (char c : s.toCharArray()) { + if (Character.isWhitespace(c)) { return true; } } @@ -2256,10 +2250,8 @@ public class Javadoc extends Task { private String quoteString(final String str, final char delim) { final StringBuilder buf = new StringBuilder(str.length() * 2); buf.append(delim); - final int len = str.length(); boolean lastCharWasCR = false; - for (int i = 0; i < len; i++) { - final char c = str.charAt(i); + for (final char c : str.toCharArray()) { if (c == delim) { // can't put the non-constant delim into a case buf.append('\\').append(c); lastCharWasCR = false; @@ -2376,24 +2368,23 @@ public class Javadoc extends Task { final File baseDir = ds.getDir(getProject()); log("scanning " + baseDir + " for packages.", Project.MSG_DEBUG); final DirectoryScanner dsc = ds.getDirectoryScanner(getProject()); - final String[] dirs = dsc.getIncludedDirectories(); boolean containsPackages = false; - for (int i = 0; i < dirs.length; i++) { + for (String dir : dsc.getIncludedDirectories()) { // are there any java files in this directory? - final File pd = new File(baseDir, dirs[i]); - final String[] files = pd.list((dir1, + final File pd = new File(baseDir, dir); + final String[] files = pd.list((directory, name) -> name.endsWith(".java") || (includeNoSourcePackages && name.equals("package.html"))); if (files.length > 0) { - if ("".equals(dirs[i])) { + if ("".equals(dir)) { log(baseDir + " contains source files in the default package, you must specify them as source files not packages.", Project.MSG_WARN); } else { containsPackages = true; final String packageName = - dirs[i].replace(File.separatorChar, '.'); + dir.replace(File.separatorChar, '.'); if (!addedPackages.contains(packageName)) { addedPackages.add(packageName); pn.add(packageName); diff --git a/src/main/org/apache/tools/ant/taskdefs/Jikes.java b/src/main/org/apache/tools/ant/taskdefs/Jikes.java index c94becab5..89ac3f1f7 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Jikes.java +++ b/src/main/org/apache/tools/ant/taskdefs/Jikes.java @@ -90,8 +90,8 @@ public class Jikes { tmpFile = FileUtils.getFileUtils().createTempFile("jikes", "tmp", null, false, true); out = new BufferedWriter(new FileWriter(tmpFile)); - for (int i = 0; i < args.length; i++) { - out.write(args[i]); + for (String arg : args) { + out.write(arg); out.newLine(); } out.flush(); diff --git a/src/main/org/apache/tools/ant/taskdefs/MacroDef.java b/src/main/org/apache/tools/ant/taskdefs/MacroDef.java index ce046127e..ec5595ff6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/MacroDef.java +++ b/src/main/org/apache/tools/ant/taskdefs/MacroDef.java @@ -264,8 +264,7 @@ public class MacroDef extends AntlibDefinition { attribute.getName()); } final int size = attributes.size(); - for (int i = 0; i < size; ++i) { - Attribute att = attributes.get(i); + for (Attribute att : attributes) { if (att.getName().equals(attribute.getName())) { throw new BuildException( "the name \"%s\" has already been used in another attribute element", diff --git a/src/main/org/apache/tools/ant/taskdefs/Move.java b/src/main/org/apache/tools/ant/taskdefs/Move.java index 68ebfd550..28a308602 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Move.java +++ b/src/main/org/apache/tools/ant/taskdefs/Move.java @@ -170,15 +170,14 @@ public class Move extends Copy { int createCount = 0; for (Map.Entry entry : dirCopyMap.entrySet()) { String fromDirName = entry.getKey(); - String[] toDirNames = entry.getValue(); boolean selfMove = false; - for (int i = 0; i < toDirNames.length; i++) { - if (fromDirName.equals(toDirNames[i])) { + for (String toDirName : entry.getValue()) { + if (fromDirName.equals(toDirName)) { log("Skipping self-move of " + fromDirName, verbosity); selfMove = true; continue; } - File d = new File(toDirNames[i]); + File d = new File(toDirName); if (!d.exists()) { if (!(d.mkdirs() || d.exists())) { log("Unable to create directory " diff --git a/src/main/org/apache/tools/ant/taskdefs/Parallel.java b/src/main/org/apache/tools/ant/taskdefs/Parallel.java index b3d400bdb..c149a4aee 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Parallel.java +++ b/src/main/org/apache/tools/ant/taskdefs/Parallel.java @@ -411,9 +411,9 @@ public class Parallel extends Task int tries = 0; do { oneAlive = false; - for (int i = 0; i < running.length; i++) { - if (running[i] != null && !running[i].isFinished()) { - running[i].interrupt(); + for (TaskRunnable runnable : running) { + if (runnable != null && !runnable.isFinished()) { + runnable.interrupt(); Thread.yield(); oneAlive = true; } diff --git a/src/main/org/apache/tools/ant/taskdefs/Recorder.java b/src/main/org/apache/tools/ant/taskdefs/Recorder.java index a6f6a883c..d632a85c4 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Recorder.java +++ b/src/main/org/apache/tools/ant/taskdefs/Recorder.java @@ -18,7 +18,6 @@ package org.apache.tools.ant.taskdefs; import java.util.Hashtable; -import java.util.Iterator; import java.util.Map; import org.apache.tools.ant.BuildEvent; @@ -68,7 +67,7 @@ public class Recorder extends Task implements SubBuildListener { /** Strip task banners if true. */ private boolean emacsMode = false; /** The list of recorder entries. */ - private static Hashtable recorderEntries = new Hashtable(); + private static Hashtable recorderEntries = new Hashtable<>(); ////////////////////////////////////////////////////////////////////// // CONSTRUCTORS / INITIALIZERS @@ -206,10 +205,9 @@ public class Recorder extends Task implements SubBuildListener { */ protected RecorderEntry getRecorder(String name, Project proj) throws BuildException { - Object o = recorderEntries.get(name); - RecorderEntry entry; + RecorderEntry entry = recorderEntries.get(name); - if (o == null) { + if (entry == null) { // create a recorder entry entry = new RecorderEntry(name); @@ -220,9 +218,8 @@ public class Recorder extends Task implements SubBuildListener { } entry.setProject(proj); recorderEntries.put(name, entry); - } else { - entry = (RecorderEntry) o; } + return entry; } @@ -308,12 +305,12 @@ public class Recorder extends Task implements SubBuildListener { * * @since Ant 1.7 */ + @SuppressWarnings("unchecked") private void cleanup() { - Hashtable entries = (Hashtable) recorderEntries.clone(); - Iterator itEntries = entries.entrySet().iterator(); - while (itEntries.hasNext()) { - Map.Entry entry = (Map.Entry) itEntries.next(); - RecorderEntry re = (RecorderEntry) entry.getValue(); + Hashtable entries + = (Hashtable) recorderEntries.clone(); + for (Map.Entry entry : entries.entrySet()) { + RecorderEntry re = entry.getValue(); if (re.getProject() == getProject()) { recorderEntries.remove(entry.getKey()); } diff --git a/src/main/org/apache/tools/ant/taskdefs/Replace.java b/src/main/org/apache/tools/ant/taskdefs/Replace.java index c8a178d18..283b68cd0 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Replace.java +++ b/src/main/org/apache/tools/ant/taskdefs/Replace.java @@ -716,9 +716,7 @@ public class Replace extends MatchingTask { */ private StringBuffer buildFilterChain(StringBuffer inputBuffer) { StringBuffer buf = inputBuffer; - final int size = replacefilters.size(); - for (int i = 0; i < size; i++) { - Replacefilter filter = replacefilters.get(i); + for (Replacefilter filter : replacefilters) { filter.setInputBuffer(buf); buf = filter.getOutputBuffer(); } diff --git a/src/main/org/apache/tools/ant/taskdefs/SubAnt.java b/src/main/org/apache/tools/ant/taskdefs/SubAnt.java index cd8c8bddd..0fb98739e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/SubAnt.java +++ b/src/main/org/apache/tools/ant/taskdefs/SubAnt.java @@ -203,13 +203,13 @@ public class SubAnt extends Task { } */ BuildException buildException = null; - for (int i = 0; i < count; ++i) { + for (String filename : filenames) { File file = null; String subdirPath = null; Throwable thrownException = null; try { File directory = null; - file = new File(filenames[i]); + file = new File(filename); if (file.isDirectory()) { if (verbose) { subdirPath = file.getPath(); diff --git a/src/main/org/apache/tools/ant/taskdefs/Sync.java b/src/main/org/apache/tools/ant/taskdefs/Sync.java index 557644d8f..66a69f850 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Sync.java +++ b/src/main/org/apache/tools/ant/taskdefs/Sync.java @@ -19,7 +19,9 @@ package org.apache.tools.ant.taskdefs; import java.io.File; +import java.util.Arrays; import java.util.Collections; +import java.util.Comparator; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Map; @@ -226,8 +228,7 @@ public class Sync extends Task { ds.addExcludes(excls); ds.scan(); - String[] files = ds.getIncludedFiles(); - for (String file : files) { + for (String file : ds.getIncludedFiles()) { File f = new File(toDir, file); log("Removing orphan file: " + f, Project.MSG_DEBUG); f.delete(); @@ -239,8 +240,9 @@ public class Sync extends Task { // leaves before their parent nodes - thus making sure (well, // more likely) that the directories are empty when we try to // delete them. - for (int i = dirs.length - 1; i >= 0; --i) { - File f = new File(toDir, dirs[i]); + Arrays.sort(dirs, Comparator.reverseOrder()); + for (String dir : dirs) { + File f = new File(toDir, dir); String[] children = f.list(); if (children == null || children.length < 1) { log("Removing orphan directory: " + f, Project.MSG_DEBUG); @@ -255,8 +257,9 @@ public class Sync extends Task { fs.setDir(toDir); String[] preservedDirs = fs.getDirectoryScanner(getProject()).getIncludedDirectories(); - for (int i = preservedDirs.length - 1; i >= 0; --i) { - preservedDirectories.add(new File(toDir, preservedDirs[i])); + Arrays.sort(preservedDirs, Comparator.reverseOrder()); + for (String dir : preservedDirs) { + preservedDirectories.add(new File(toDir, dir)); } } @@ -286,13 +289,11 @@ public class Sync extends Task { int removedCount = 0; if (dir.isDirectory()) { File[] children = dir.listFiles(); - for (int i = 0; i < children.length; ++i) { - File file = children[i]; + for (File file : children) { // Test here again to avoid method call for non-directories! if (file.isDirectory()) { - removedCount += - removeEmptyDirectories(file, true, - preservedEmptyDirectories); + removedCount += removeEmptyDirectories(file, true, + preservedEmptyDirectories); } } if (children.length > 0) { diff --git a/src/main/org/apache/tools/ant/taskdefs/Touch.java b/src/main/org/apache/tools/ant/taskdefs/Touch.java index 116eef31f..86c573a63 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Touch.java +++ b/src/main/org/apache/tools/ant/taskdefs/Touch.java @@ -342,8 +342,8 @@ public class Touch extends Task { if (millis < 0 && r.isExists()) { modTime = r.getLastModified(); } - for (int i = 0; i < mapped.length; i++) { - touch(getProject().resolveFile(mapped[i]), modTime); + for (String fileName : mapped) { + touch(getProject().resolveFile(fileName), modTime); } } } diff --git a/src/main/org/apache/tools/ant/taskdefs/Untar.java b/src/main/org/apache/tools/ant/taskdefs/Untar.java index ef8aacf59..d1845f0f9 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Untar.java +++ b/src/main/org/apache/tools/ant/taskdefs/Untar.java @@ -230,8 +230,8 @@ public class Untar extends Expand { } if (BZIP2.equals(v)) { final char[] magic = new char[] { 'B', 'Z' }; - for (int i = 0; i < magic.length; i++) { - if (istream.read() != magic[i]) { + for (char c : magic) { + if (istream.read() != c) { throw new BuildException("Invalid bz2 file." + name); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/compilers/Javac12.java b/src/main/org/apache/tools/ant/taskdefs/compilers/Javac12.java index 6865e055f..637ce0eff 100644 --- a/src/main/org/apache/tools/ant/taskdefs/compilers/Javac12.java +++ b/src/main/org/apache/tools/ant/taskdefs/compilers/Javac12.java @@ -54,19 +54,16 @@ public class Javac12 extends DefaultCompilerAdapter { try { // Create an instance of the compiler, redirecting output to // the project log - Class c = Class.forName(CLASSIC_COMPILER_CLASSNAME); + Class c = Class.forName(CLASSIC_COMPILER_CLASSNAME); Constructor cons = - c.getConstructor(new Class[] {OutputStream.class, - String.class}); + c.getConstructor(OutputStream.class, String.class); Object compiler - = cons.newInstance(new Object[] {logstr, "javac"}); + = cons.newInstance(logstr, "javac"); // Call the compile() method - Method compile = c.getMethod("compile", - new Class [] {String[].class}); - Boolean ok = - (Boolean) compile.invoke(compiler, - new Object[] {cmd.getArguments()}); + Method compile = c.getMethod("compile", String[].class); + Boolean ok = (Boolean) compile.invoke(compiler, + new Object[] {cmd.getArguments()}); return ok.booleanValue(); } catch (ClassNotFoundException ex) { throw new BuildException("Cannot use classic compiler, as it is " diff --git a/src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java b/src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java index 1c5fd82c4..796dcff55 100644 --- a/src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java +++ b/src/main/org/apache/tools/ant/taskdefs/condition/AntVersion.java @@ -102,18 +102,17 @@ public class AntVersion extends Task implements Condition { private DeweyDecimal getVersion() { Project p = new Project(); p.init(); - char[] versionString = p.getProperty("ant.version").toCharArray(); StringBuilder sb = new StringBuilder(); boolean foundFirstDigit = false; - for (int i = 0; i < versionString.length; i++) { - if (Character.isDigit(versionString[i])) { - sb.append(versionString[i]); + for (char versionChar : p.getProperty("ant.version").toCharArray()) { + if (Character.isDigit(versionChar)) { + sb.append(versionChar); foundFirstDigit = true; } - if (versionString[i] == '.' && foundFirstDigit) { - sb.append(versionString[i]); + if (versionChar == '.' && foundFirstDigit) { + sb.append(versionChar); } - if (Character.isLetter(versionString[i]) && foundFirstDigit) { + if (Character.isLetter(versionChar) && foundFirstDigit) { break; } } diff --git a/src/main/org/apache/tools/ant/taskdefs/condition/HasMethod.java b/src/main/org/apache/tools/ant/taskdefs/condition/HasMethod.java index 1c338f822..0e241124e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/condition/HasMethod.java +++ b/src/main/org/apache/tools/ant/taskdefs/condition/HasMethod.java @@ -165,9 +165,7 @@ public class HasMethod extends ProjectComponent implements Condition { } private boolean isFieldFound(Class clazz) { - Field[] fields = clazz.getDeclaredFields(); - for (int i = 0; i < fields.length; i++) { - Field fieldEntry = fields[i]; + for (Field fieldEntry : clazz.getDeclaredFields()) { if (fieldEntry.getName().equals(field)) { return true; } @@ -176,9 +174,7 @@ public class HasMethod extends ProjectComponent implements Condition { } private boolean isMethodFound(Class clazz) { - Method[] methods = clazz.getDeclaredMethods(); - for (int i = 0; i < methods.length; i++) { - Method methodEntry = methods[i]; + for (Method methodEntry : clazz.getDeclaredMethods()) { if (methodEntry.getName().equals(method)) { return true; } diff --git a/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java b/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java index cb6faf81d..95cd6c1d2 100644 --- a/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java +++ b/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java @@ -423,8 +423,8 @@ public class CvsTagDiff extends AbstractCvsTask { CollectionUtils.flattenToString(packageNames)); DOM_WRITER.openElement(root, writer, 0, "\t"); writer.println(); - for (int i = 0, c = entries.length; i < c; i++) { - writeTagEntry(doc, writer, entries[i]); + for (CvsTagEntry entry : entries) { + writeTagEntry(doc, writer, entry); } DOM_WRITER.closeElement(root, writer, 0, "\t", true); writer.flush(); diff --git a/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java b/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java index b8f0516d0..70c38daf6 100644 --- a/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java +++ b/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java @@ -27,6 +27,8 @@ import java.io.PrintStream; import java.io.UnsupportedEncodingException; import java.security.Provider; import java.security.Security; +import java.util.ArrayList; +import java.util.List; import java.util.Locale; import java.util.Properties; import java.util.StringTokenizer; @@ -265,15 +267,15 @@ public class MimeMailer extends Mailer { if (invalid == null) { invalid = new Address[0]; } - for (int i = 0; i < invalid.length; i++) { - didntReach(invalid[i], "invalid", sfe); + for (Address address : invalid) { + didntReach(address, "invalid", sfe); } Address[] validUnsent = sfe.getValidUnsentAddresses(); if (validUnsent == null) { validUnsent = new Address[0]; } - for (int i = 0; i < validUnsent.length; i++) { - didntReach(validUnsent[i], "valid", sfe); + for (Address address : validUnsent) { + didntReach(address, "valid", sfe); } } } catch (MessagingException | IOException e) { @@ -284,18 +286,15 @@ public class MimeMailer extends Mailer { private static InternetAddress[] internetAddresses(final Vector list) throws AddressException, UnsupportedEncodingException { - final int size = list.size(); - final InternetAddress[] addrs = new InternetAddress[size]; - - for (int i = 0; i < size; ++i) { - final EmailAddress addr = list.get(i); + final List addrs = new ArrayList<>(); + for (final EmailAddress addr : list) { final String name = addr.getName(); - addrs[i] = (name == null) + addrs.add((name == null) ? new InternetAddress(addr.getAddress()) - : new InternetAddress(addr.getAddress(), name); + : new InternetAddress(addr.getAddress(), name)); } - return addrs; + return addrs.toArray(new InternetAddress[addrs.size()]); } private String parseCharSetFromMimeType(final String type) { diff --git a/src/main/org/apache/tools/ant/taskdefs/launcher/VmsCommandLauncher.java b/src/main/org/apache/tools/ant/taskdefs/launcher/VmsCommandLauncher.java index 19034c98c..41cc14d24 100644 --- a/src/main/org/apache/tools/ant/taskdefs/launcher/VmsCommandLauncher.java +++ b/src/main/org/apache/tools/ant/taskdefs/launcher/VmsCommandLauncher.java @@ -99,13 +99,13 @@ public class VmsCommandLauncher extends Java13CommandLauncher { // add the environment as logicals to the DCL script if (env != null) { int eqIndex; - for (int i = 0; i < env.length; i++) { - eqIndex = env[i].indexOf('='); + for (String variable : env) { + eqIndex = variable.indexOf('='); if (eqIndex != -1) { out.write("$ DEFINE/NOLOG "); - out.write(env[i].substring(0, eqIndex)); + out.write(variable.substring(0, eqIndex)); out.write(" \""); - out.write(env[i].substring(eqIndex + 1)); + out.write(variable.substring(eqIndex + 1)); out.write('\"'); out.newLine(); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java b/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java index b50674cf1..d22933d4c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/Native2Ascii.java @@ -255,10 +255,10 @@ public class Native2Ascii extends MatchingTask { String message = "Converting " + count + " file" + (count != 1 ? "s" : "") + " from "; log(message + srcDir + " to " + destDir); - for (int i = 0; i < files.length; i++) { - String[] dest = m.mapFileName(files[i]); + for (String file : files) { + String[] dest = m.mapFileName(file); if (dest != null && dest.length > 0) { - convert(files[i], dest[0]); + convert(file, dest[0]); } } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java b/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java index 71c3f0029..ec5293d1a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java @@ -28,7 +28,7 @@ import java.lang.reflect.Field; import java.net.URL; import java.nio.file.Files; import java.util.ArrayList; -import java.util.Enumeration; +import java.util.Collections; import java.util.HashMap; import java.util.Hashtable; import java.util.List; @@ -121,7 +121,7 @@ public class TraXLiaison implements XSLTLiaison4, ErrorListener, XSLTLoggerAware private URIResolver uriResolver; /** transformer output properties */ - private final Vector outputProperties = new Vector(); + private final Vector outputProperties = new Vector<>(); /** stylesheet parameters */ private final Hashtable params = new Hashtable(); @@ -327,9 +327,7 @@ public class TraXLiaison implements XSLTLiaison4, ErrorListener, XSLTLoggerAware if (uriResolver != null) { transformer.setURIResolver(uriResolver); } - final int size = outputProperties.size(); - for (int i = 0; i < size; i++) { - final String[] pair = (String[]) outputProperties.elementAt(i); + for (String[] pair : outputProperties) { transformer.setOutputProperty(pair[0], pair[1]); } @@ -369,11 +367,8 @@ public class TraXLiaison implements XSLTLiaison4, ErrorListener, XSLTLoggerAware * Sets the parameters for the transformer. */ private void setTransformationParameters() { - for (final Enumeration enumeration = params.keys(); - enumeration.hasMoreElements();) { - final String name = (String) enumeration.nextElement(); - final Object value = params.get(name); - transformer.setParameter(name, value); + for (Map.Entry entry : params.entrySet()) { + transformer.setParameter(entry.getKey(), entry.getValue()); } } @@ -428,8 +423,7 @@ public class TraXLiaison implements XSLTLiaison4, ErrorListener, XSLTLoggerAware // specific attributes for the transformer final int size = attributes.size(); - for (int i = 0; i < size; i++) { - final Object[] pair = attributes.get(i); + for (final Object[] pair : attributes) { tfactory.setAttribute((String) pair[0], pair[1]); } @@ -629,10 +623,8 @@ public class TraXLiaison implements XSLTLiaison4, ErrorListener, XSLTLoggerAware setFactory(factory.getName()); // configure factory attributes - for (final Enumeration attrs = factory.getAttributes(); - attrs.hasMoreElements();) { - final XSLTProcess.Factory.Attribute attr = - (XSLTProcess.Factory.Attribute) attrs.nextElement(); + for (final XSLTProcess.Factory.Attribute attr + : Collections.list(factory.getAttributes())) { setAttribute(attr.getName(), attr.getValue()); } for (final XSLTProcess.Factory.Feature feature @@ -650,10 +642,8 @@ public class TraXLiaison implements XSLTLiaison4, ErrorListener, XSLTLoggerAware // configure output properties - for (final Enumeration props = xsltTask.getOutputProperties(); - props.hasMoreElements();) { - final XSLTProcess.OutputProperty prop - = (XSLTProcess.OutputProperty) props.nextElement(); + for (final XSLTProcess.OutputProperty prop + : Collections.list(xsltTask.getOutputProperties())) { setOutputProperty(prop.getName(), prop.getValue()); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java index 287feba9a..7d55ca0be 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java @@ -74,7 +74,7 @@ public class XMLValidateTask extends Task { /** file to be validated */ protected File file = null; /** sets of file to be validated */ - protected Vector filesets = new Vector(); + protected Vector filesets = new Vector<>(); protected Path classpath; /** @@ -90,12 +90,12 @@ public class XMLValidateTask extends Task { // CheckStyle:VisibilityModifier ON /** The vector to store all attributes (features) to be set on the parser. **/ - private Vector attributeList = new Vector(); + private Vector attributeList = new Vector<>(); /** * List of properties. */ - private final Vector propertyList = new Vector(); + private final Vector propertyList = new Vector<>(); private XMLCatalog xmlCatalog = new XMLCatalog(); /** Message for successful validation */ @@ -307,15 +307,10 @@ public class XMLValidateTask extends Task { } } - final int size = filesets.size(); - for (int i = 0; i < size; i++) { - - FileSet fs = (FileSet) filesets.elementAt(i); + for (FileSet fs : filesets) { DirectoryScanner ds = fs.getDirectoryScanner(getProject()); - String[] files = ds.getIncludedFiles(); - - for (int j = 0; j < files.length; j++) { - File srcFile = new File(fs.getDir(getProject()), files[j]); + for (String fileName : ds.getIncludedFiles()) { + File srcFile = new File(fs.getDir(getProject()), fileName); doValidate(srcFile); fileProcessed++; } @@ -353,16 +348,12 @@ public class XMLValidateTask extends Task { setFeature(XmlConstants.FEATURE_VALIDATION, true); } // set the feature from the attribute list - final int attSize = attributeList.size(); - for (int i = 0; i < attSize; i++) { - Attribute feature = (Attribute) attributeList.elementAt(i); + for (Attribute feature : attributeList) { setFeature(feature.getName(), feature.getValue()); } // Sets properties - final int propSize = propertyList.size(); - for (int i = 0; i < propSize; i++) { - final Property prop = (Property) propertyList.elementAt(i); + for (Property prop : propertyList) { setProperty(prop.getName(), prop.getValue()); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java index fd7517f05..aa6c8fb5b 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetDeploymentTool.java @@ -284,16 +284,16 @@ public class IPlanetDeploymentTool extends GenericDeploymentTool { int endOfPath = descriptorFileName.lastIndexOf(File.separator); String relativePath = descriptorFileName.substring(0, endOfPath + 1); - for (int i = 0; i < cmpDescriptors.length; i++) { - int endOfCmp = cmpDescriptors[i].lastIndexOf('/'); - String cmpDescriptor = cmpDescriptors[i].substring(endOfCmp + 1); + for (String descriptor : cmpDescriptors) { + int endOfCmp = descriptor.lastIndexOf('/'); + String cmpDescriptor = descriptor.substring(endOfCmp + 1); File cmpFile = new File(baseDir, relativePath + cmpDescriptor); if (!cmpFile.exists()) { throw new BuildException("The CMP descriptor file (" + cmpFile + ") could not be found.", getLocation()); } - files.put(cmpDescriptors[i], cmpFile); + files.put(descriptor, cmpFile); } } return files; diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java index df0f0eebd..e7ccce755 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java @@ -31,7 +31,6 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Hashtable; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Properties; @@ -1209,9 +1208,9 @@ public class IPlanetEjbc { * Loop through each stub/skeleton class that must be generated, and * determine (if all exist) which file has the most recent timestamp */ - for (int i = 0; i < classnames.length; i++) { + for (String classname : classnames) { String pathToClass = - classnames[i].replace('.', File.separatorChar) + ".class"; + classname.replace('.', File.separatorChar) + ".class"; File classFile = new File(destDir, pathToClass); /* @@ -1306,9 +1305,8 @@ public class IPlanetEjbc { + "\n\r iiop: " + iiop + "\n\r hasession: " + hasession; - Iterator i = cmpDescriptors.iterator(); - while (i.hasNext()) { - s += "\n\r CMP Descriptor: " + i.next(); + for (String cmpDescriptor : cmpDescriptors) { + s += "\n\r CMP Descriptor: " + cmpDescriptor; } return s; diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java b/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java index 4be001cf2..12f2a161f 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/extension/ExtensionUtil.java @@ -96,9 +96,8 @@ public final class ExtensionUtil { final DirectoryScanner scanner = fileSet.getDirectoryScanner(project); final File basedir = scanner.getBasedir(); - final String[] files = scanner.getIncludedFiles(); - for (int i = 0; i < files.length; i++) { - final File file = new File(basedir, files[ i ]); + for (String fileName : scanner.getIncludedFiles()) { + final File file = new File(basedir, fileName); loadExtensions(file, extensions, includeImpl, includeURL); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/extension/LibraryDisplayer.java b/src/main/org/apache/tools/ant/taskdefs/optional/extension/LibraryDisplayer.java index 0d2af0d08..b755687fd 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/extension/LibraryDisplayer.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/extension/LibraryDisplayer.java @@ -73,29 +73,29 @@ class LibraryDisplayer { printLine(size); if (0 != available.length) { System.out.println("Extensions Supported By Library:"); - for (int i = 0; i < available.length; i++) { - System.out.println(available[i]); + for (Extension extension : available) { + System.out.println(extension); } } if (0 != required.length) { System.out.println("Extensions Required By Library:"); - for (int i = 0; i < required.length; i++) { - System.out.println(required[i]); + for (Extension extension : required) { + System.out.println(extension); } } if (0 != options.length) { System.out.println("Extensions that will be used by Library if present:"); - for (int i = 0; i < options.length; i++) { - System.out.println(options[i]); + for (Extension option : options) { + System.out.println(option); } } if (0 != specifications.length) { System.out.println("Specifications Supported By Library:"); - for (int i = 0; i < specifications.length; i++) { - displaySpecification(specifications[i]); + for (Specification specification : specifications) { + displaySpecification(specification); } } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java b/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java index edcced8a1..01856fc0b 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java @@ -486,10 +486,9 @@ public class Translate extends MatchingTask { int filesProcessed = 0; for (FileSet fs : filesets) { DirectoryScanner ds = fs.getDirectoryScanner(getProject()); - String[] srcFiles = ds.getIncludedFiles(); - for (int j = 0; j < srcFiles.length; j++) { + for (String srcFile : ds.getIncludedFiles()) { try { - File dest = FILE_UTILS.resolveFile(toDir, srcFiles[j]); + File dest = FILE_UTILS.resolveFile(toDir, srcFile); //Make sure parent dirs exist, else, create them. try { File destDir = new File(dest.getParent()); @@ -502,7 +501,7 @@ public class Translate extends MatchingTask { Project.MSG_DEBUG); } destLastModified = dest.lastModified(); - File src = FILE_UTILS.resolveFile(ds.getBasedir(), srcFiles[j]); + File src = FILE_UTILS.resolveFile(ds.getBasedir(), srcFile); srcLastModified = src.lastModified(); //Check to see if dest file has to be recreated boolean needsWork = forceOverwrite @@ -516,14 +515,12 @@ public class Translate extends MatchingTask { } } if (needsWork) { - log("Processing " + srcFiles[j], - Project.MSG_DEBUG); + log("Processing " + srcFile, Project.MSG_DEBUG); translateOneFile(src, dest); ++filesProcessed; } else { - log("Skipping " + srcFiles[j] - + " as destination file is up to date", - Project.MSG_VERBOSE); + log("Skipping " + srcFile + " as destination file is up to date", + Project.MSG_VERBOSE); } } catch (IOException ioe) { throw new BuildException(ioe.getMessage(), getLocation()); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/image/Image.java b/src/main/org/apache/tools/ant/taskdefs/optional/image/Image.java index 6ab58c034..ef6c7db13 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/image/Image.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/image/Image.java @@ -225,8 +225,7 @@ public class Image extends MatchingTask { final File dstDir, final FileNameMapper mapper) { int writeCount = 0; - for (int i = 0; i < srcNames.length; ++i) { - final String srcName = srcNames[i]; + for (final String srcName : srcNames) { final File srcFile = new File(srcDir, srcName).getAbsoluteFile(); final String[] dstNames = mapper.mapFileName(srcName); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java b/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java index 0d4895cd4..ee9d7d265 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java @@ -256,10 +256,7 @@ public class jlink { */ private void addDirContents(ZipOutputStream output, File dir, String prefix, boolean compress) throws IOException { - String[] contents = dir.list(); - - for (int i = 0; i < contents.length; ++i) { - String name = contents[i]; + for (String name : dir.list()) { File file = new File(dir, name); if (file.isDirectory()) { diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java b/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java index ca353b208..c7ffa7599 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/jsp/JspC.java @@ -478,8 +478,8 @@ public class JspC extends MatchingTask { // lists and compile lists resetFileLists(); int filecount = 0; - for (int i = 0; i < list.length; i++) { - File srcDir = getProject().resolveFile(list[i]); + for (String fileName : list) { + File srcDir = getProject().resolveFile(fileName); if (!srcDir.exists()) { throw new BuildException("srcdir \"" + srcDir.getPath() + "\" does not exist!", diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/BatchTest.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/BatchTest.java index 11271bf2e..29cd2385c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/BatchTest.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/BatchTest.java @@ -112,8 +112,8 @@ public final class BatchTest extends BaseTest { void addTestsTo(Vector v) { JUnitTest[] tests = createAllJUnitTest(); v.ensureCapacity(v.size() + tests.length); - for (int i = 0; i < tests.length; i++) { - v.addElement(tests[i]); + for (JUnitTest test : tests) { + v.addElement(test); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java index 254dda5ba..c4bad36af 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/FailureRecorder.java @@ -25,7 +25,6 @@ import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.Comparator; import java.util.Date; -import java.util.Iterator; import java.util.SortedSet; import java.util.TreeSet; import junit.framework.AssertionFailedError; @@ -300,8 +299,7 @@ public class FailureRecorder extends ProjectComponent implements JUnitResultForm writer.newLine(); writer.write(" TestSuite suite = new TestSuite();"); writer.newLine(); - for (Iterator iter = failedTests.iterator(); iter.hasNext();) { - TestInfos testInfos = iter.next(); + for (TestInfos testInfos : failedTests) { writer.write(" suite.addTest("); writer.write(String.valueOf(testInfos)); writer.write(");"); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter.java index c797a87eb..a1493678a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnit4TestMethodAdapter.java @@ -139,9 +139,9 @@ public class JUnit4TestMethodAdapter implements Test { throw new IllegalArgumentException("methodNames is "); } methodsListDescription = Description.createSuiteDescription(testClass); - for (int i = 0; i < methodNames.length; i++) { + for (String methodName : methodNames) { methodsListDescription.addChild( - Description.createTestDescription(testClass, methodNames[i])); + Description.createTestDescription(testClass, methodName)); } this.testClass = testClass; this.methodNames = methodNames; @@ -165,12 +165,11 @@ public class JUnit4TestMethodAdapter implements Test { if (methodNames.length == 0) { buf.append("No methods"); } else { - buf.append(methodNames.length == 1 ? "Method" : "Methods"); - buf.append(' '); - buf.append(methodNames[0]); - for (int i = 1; i < methodNames.length; i++) { - buf.append(',').append(methodNames[i]); + buf.append(methodNames.length == 1 ? "Method " : "Methods "); + for (String methodName : methodNames) { + buf.append(methodName).append(','); } + buf.setLength(buf.length() - 1); } buf.append('(').append(testClass.getName()).append(')'); return buf.toString(); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java index faa695545..a3da7a5d5 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java @@ -963,18 +963,12 @@ public class JUnitTask extends Task { /* I assume we don't want to do this with "per batch" forking. */ List> newlist = new ArrayList<>(); if (forkMode.getValue().equals(ForkMode.PER_TEST)) { - final Iterator> i1 = testList.iterator(); - while (i1.hasNext()) { - final List l = i1.next(); - if (l.size() == 1) { - newlist.add(l); + for (List list : testList) { + if (list.size() == 1) { + newlist.add(list); } else { - final Iterator i2 = l.iterator(); - while (i2.hasNext()) { - final List tmpSingleton = - new ArrayList<>(); - tmpSingleton.add(i2.next()); - newlist.add(tmpSingleton); + for (JUnitTest test : list) { + newlist.add(Collections.singletonList(test)); } } } @@ -1203,8 +1197,7 @@ public class JUnitTask extends Task { StringBuilder formatterArg = new StringBuilder(STRING_BUFFER_SIZE); final FormatterElement[] feArray = mergeFormatters(test); - for (int i = 0; i < feArray.length; i++) { - final FormatterElement fe = feArray[i]; + for (final FormatterElement fe : feArray) { if (fe.shouldUse(this)) { formatterArg.append(Constants.FORMATTER); formatterArg.append(fe.getClassname()); @@ -1251,9 +1244,9 @@ public class JUnitTask extends Task { final String[] environment = env.getVariables(); if (environment != null) { - for (int i = 0; i < environment.length; i++) { - log("Setting environment variable: " + environment[i], - Project.MSG_VERBOSE); + for (String variable : environment) { + log("Setting environment variable: " + variable, + Project.MSG_VERBOSE); } } execute.setNewenvironment(newEnvironment); @@ -1613,9 +1606,7 @@ public class JUnitTask extends Task { runner.setPermissions(perm); - final FormatterElement[] feArray = mergeFormatters(test); - for (int i = 0; i < feArray.length; i++) { - final FormatterElement fe = feArray[i]; + for (final FormatterElement fe : mergeFormatters(test)) { if (fe.shouldUse(this)) { final File outFile = getOutput(fe, test); if (outFile != null) { @@ -1922,8 +1913,7 @@ public class JUnitTask extends Task { test.setCounts(1, 0, 1, 0); test.setProperties(getProject().getProperties()); - for (int i = 0; i < feArray.length; i++) { - final FormatterElement fe = feArray[i]; + for (final FormatterElement fe : feArray) { if (fe.shouldUse(this)) { final JUnitTaskMirror.JUnitResultFormatterMirror formatter = fe.createFormatter(classLoader); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java index 164ce33b3..118008d69 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java @@ -365,9 +365,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR public void run() { res = new IgnoredTestResult(); res.addListener(wrapListener(this)); - final int size = formatters.size(); - for (int i = 0; i < size; i++) { - res.addListener(wrapListener((TestListener) formatters.elementAt(i))); + for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) { + res.addListener(wrapListener((TestListener) f)); } final ByteArrayOutputStream errStrm = new ByteArrayOutputStream(); @@ -506,9 +505,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR suite = TestSuite.createTest(testClass, methods[0]); } else { final TestSuite testSuite = new TestSuite(testClass.getName()); - for (int i = 0; i < methods.length; i++) { - testSuite.addTest( - TestSuite.createTest(testClass, methods[i])); + for (String method : methods) { + testSuite.addTest(TestSuite.createTest(testClass, method)); } suite = testSuite; } @@ -524,9 +522,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR fireStartTestSuite(); startTestSuiteSuccess = true; if (exception != null) { // had an exception constructing suite - final int formatterSize = formatters.size(); - for (int i = 0; i < formatterSize; i++) { - ((TestListener) formatters.elementAt(i)).addError(null, exception); + for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) { + ((TestListener) f).addError(null, exception); } junitTest.setCounts(1, 0, 1, 0); junitTest.setRunTime(0); @@ -837,27 +834,22 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR } private void sendOutAndErr(final String out, final String err) { - final int size = formatters.size(); - for (int i = 0; i < size; i++) { - final JUnitResultFormatter formatter = - (JUnitResultFormatter) formatters.get(i); - + for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) { + final JUnitResultFormatter formatter = (JUnitResultFormatter) f; formatter.setSystemOutput(out); formatter.setSystemError(err); } } private void fireStartTestSuite() { - final int size = formatters.size(); - for (int i = 0; i < size; i++) { - ((JUnitResultFormatter) formatters.elementAt(i)).startTestSuite(junitTest); + for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) { + ((JUnitResultFormatter) f).startTestSuite(junitTest); } } private void fireEndTestSuite() { - final int size = formatters.size(); - for (int i = 0; i < size; i++) { - ((JUnitResultFormatter) formatters.elementAt(i)).endTestSuite(junitTest); + for (JUnitTaskMirror.JUnitResultFormatterMirror f : formatters) { + ((JUnitResultFormatter) f).endTestSuite(junitTest); } } @@ -937,52 +929,52 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR args[0] = args[0].substring(Constants.TESTSFILE.length()); } - for (int i = 1; i < args.length; i++) { - if (args[i].startsWith(Constants.METHOD_NAMES)) { + for (String arg : args) { + if (arg.startsWith(Constants.METHOD_NAMES)) { try { - final String methodsList = args[i].substring(Constants.METHOD_NAMES.length()); + final String methodsList = arg.substring(Constants.METHOD_NAMES.length()); methods = JUnitTest.parseTestMethodNamesList(methodsList); } catch (final IllegalArgumentException ex) { - System.err.println("Invalid specification of test method names: " + args[i]); + System.err.println("Invalid specification of test method names: " + arg); System.exit(ERRORS); } - } else if (args[i].startsWith(Constants.HALT_ON_ERROR)) { - haltError = Project.toBoolean(args[i].substring(Constants.HALT_ON_ERROR.length())); - } else if (args[i].startsWith(Constants.HALT_ON_FAILURE)) { - haltFail = Project.toBoolean(args[i].substring(Constants.HALT_ON_FAILURE.length())); - } else if (args[i].startsWith(Constants.FILTERTRACE)) { - stackfilter = Project.toBoolean(args[i].substring(Constants.FILTERTRACE.length())); - } else if (args[i].startsWith(Constants.CRASHFILE)) { - crashFile = args[i].substring(Constants.CRASHFILE.length()); + } else if (arg.startsWith(Constants.HALT_ON_ERROR)) { + haltError = Project.toBoolean(arg.substring(Constants.HALT_ON_ERROR.length())); + } else if (arg.startsWith(Constants.HALT_ON_FAILURE)) { + haltFail = Project.toBoolean(arg.substring(Constants.HALT_ON_FAILURE.length())); + } else if (arg.startsWith(Constants.FILTERTRACE)) { + stackfilter = Project.toBoolean(arg.substring(Constants.FILTERTRACE.length())); + } else if (arg.startsWith(Constants.CRASHFILE)) { + crashFile = arg.substring(Constants.CRASHFILE.length()); registerTestCase(Constants.BEFORE_FIRST_TEST); - } else if (args[i].startsWith(Constants.FORMATTER)) { + } else if (arg.startsWith(Constants.FORMATTER)) { try { - createAndStoreFormatter(args[i].substring(Constants.FORMATTER.length())); + createAndStoreFormatter(arg.substring(Constants.FORMATTER.length())); } catch (final BuildException be) { System.err.println(be.getMessage()); System.exit(ERRORS); } - } else if (args[i].startsWith(Constants.PROPSFILE)) { - final InputStream in = Files.newInputStream(Paths.get(args[i] + } else if (arg.startsWith(Constants.PROPSFILE)) { + final InputStream in = Files.newInputStream(Paths.get(arg .substring(Constants.PROPSFILE.length()))); props.load(in); in.close(); - } else if (args[i].startsWith(Constants.SHOWOUTPUT)) { - showOut = Project.toBoolean(args[i].substring(Constants.SHOWOUTPUT.length())); - } else if (args[i].startsWith(Constants.LOGTESTLISTENEREVENTS)) { + } else if (arg.startsWith(Constants.SHOWOUTPUT)) { + showOut = Project.toBoolean(arg.substring(Constants.SHOWOUTPUT.length())); + } else if (arg.startsWith(Constants.LOGTESTLISTENEREVENTS)) { logTestListenerEvents = Project.toBoolean( - args[i].substring(Constants.LOGTESTLISTENEREVENTS.length())); - } else if (args[i].startsWith(Constants.OUTPUT_TO_FORMATTERS)) { + arg.substring(Constants.LOGTESTLISTENEREVENTS.length())); + } else if (arg.startsWith(Constants.OUTPUT_TO_FORMATTERS)) { outputToFormat = Project.toBoolean( - args[i].substring(Constants.OUTPUT_TO_FORMATTERS.length())); - } else if (args[i].startsWith(Constants.LOG_FAILED_TESTS)) { + arg.substring(Constants.OUTPUT_TO_FORMATTERS.length())); + } else if (arg.startsWith(Constants.LOG_FAILED_TESTS)) { logFailedTests = Project.toBoolean( - args[i].substring(Constants.LOG_FAILED_TESTS.length())); - } else if (args[i].startsWith(Constants.SKIP_NON_TESTS)) { + arg.substring(Constants.LOG_FAILED_TESTS.length())); + } else if (arg.startsWith(Constants.SKIP_NON_TESTS)) { skipNonTests = Project.toBoolean( - args[i].substring(Constants.SKIP_NON_TESTS.length())); - } else if (args[i].startsWith(Constants.THREADID)) { - antThreadID = Integer.parseInt(args[i].substring(Constants.THREADID.length())); + arg.substring(Constants.SKIP_NON_TESTS.length())); + } else if (arg.startsWith(Constants.THREADID)) { + antThreadID = Integer.parseInt(arg.substring(Constants.THREADID.length())); } } @@ -1096,9 +1088,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR registerTestCase(JUnitVersionHelper.getTestCaseName(arg0)); } }); - final int size = fromCmdLine.size(); - for (int i = 0; i < size; i++) { - final FormatterElement fe = fromCmdLine.elementAt(i); + for (FormatterElement fe : fromCmdLine) { if (multipleTests && fe.getUseFile()) { final File destFile = new File(test.getTodir(), test.getOutfile() + fe.getExtension()); @@ -1180,8 +1170,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR } private static boolean filterLine(final String line) { - for (int i = 0; i < DEFAULT_TRACE_FILTERS.length; i++) { - if (line.indexOf(DEFAULT_TRACE_FILTERS[i]) != -1) { + for (String filter : DEFAULT_TRACE_FILTERS) { + if (line.indexOf(filter) != -1) { return true; } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java index 71cd82870..4664c0b22 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java @@ -230,14 +230,12 @@ public class XMLResultAggregator extends Task implements XMLConstants { generatedId = 0; // get all files and add them to the document - File[] files = getFiles(); - for (int i = 0; i < files.length; i++) { - File file = files[i]; + for (File file : getFiles()) { try { log("Parsing file: '" + file + "'", Project.MSG_VERBOSE); if (file.length() > 0) { Document testsuiteDoc = builder.parse(FileUtils - .getFileUtils().toURI(files[i].getAbsolutePath())); + .getFileUtils().toURI(file.getAbsolutePath())); Element elem = testsuiteDoc.getDocumentElement(); // make sure that this is REALLY a testsuite. if (TESTSUITE.equals(elem.getNodeName())) { diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java index e29634a39..36bcbc681 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java @@ -77,9 +77,9 @@ public final class KaffeNative2Ascii extends DefaultNative2Ascii { * @return null if neither class can get loaded. */ private static Class getN2aClass() { - for (int i = 0; i < N2A_CLASSNAMES.length; i++) { + for (String className : N2A_CLASSNAMES) { try { - return Class.forName(N2A_CLASSNAMES[i]); + return Class.forName(className); } catch (ClassNotFoundException cnfe) { // Ignore } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java b/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java index 3e36a2fdf..8154a1ddc 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java @@ -27,7 +27,9 @@ import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Files; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -245,7 +247,7 @@ public class FTP extends Task implements FTPTaskConfig { @Override public String getParent() { String result = ""; - for(int i = 0; i < parts.length - 1; i++){ + for (int i = 0; i < parts.length - 1; i++){ result += File.separatorChar + parts[i]; } return result; @@ -403,10 +405,10 @@ public class FTP extends Task implements FTPTaskConfig { Map newroots = new HashMap<>(); // put in the newroots vector the include patterns without // wildcard tokens - for (int icounter = 0; icounter < includes.length; icounter++) { - String newpattern = - SelectorUtils.rtrimWildcardTokens(includes[icounter]); - newroots.put(newpattern, includes[icounter]); + for (String include : includes) { + String newpattern + = SelectorUtils.rtrimWildcardTokens(include); + newroots.put(newpattern, include); } if (remotedir == null) { try { @@ -519,11 +521,10 @@ public class FTP extends Task implements FTPTaskConfig { ftp.changeToParentDirectory(); return; } - for (int i = 0; i < newfiles.length; i++) { - FTPFile file = newfiles[i]; + for (FTPFile file : newfiles) { if (file != null - && !".".equals(file.getName()) - && !"..".equals(file.getName())) { + && !".".equals(file.getName()) + && !"..".equals(file.getName())) { String name = vpath + file.getName(); scannedDirs.put(name, new FTPFileProxy(file)); if (isFunctioningAsDirectory(ftp, dir, file)) { @@ -533,7 +534,7 @@ public class FTP extends Task implements FTPTaskConfig { slowScanAllowed = false; } else if (isIncluded(name)) { accountForIncludedDir(name, - new AntFTPFile(ftp, file, completePath) , fast); + new AntFTPFile(ftp, file, completePath), fast); } else { dirsNotIncluded.addElement(name); if (fast && couldHoldIncluded(name)) { @@ -765,13 +766,13 @@ public class FTP extends Task implements FTPTaskConfig { private String fiddleName(String origin) { StringBuilder result = new StringBuilder(); - for (int icounter = 0; icounter < origin.length(); icounter++) { - if (Character.isLowerCase(origin.charAt(icounter))) { - result.append(Character.toUpperCase(origin.charAt(icounter))); - } else if (Character.isUpperCase(origin.charAt(icounter))) { - result.append(Character.toLowerCase(origin.charAt(icounter))); + for (char ch : origin.toCharArray()) { + if (Character.isLowerCase(ch)) { + result.append(Character.toUpperCase(ch)); + } else if (Character.isUpperCase(ch)) { + result.append(Character.toLowerCase(ch)); } else { - result.append(origin.charAt(icounter)); + result.append(ch); } } return result.toString(); @@ -831,9 +832,7 @@ public class FTP extends Task implements FTPTaskConfig { throw new BuildException( "could not change working dir to %s", parent.curpwd); } - final int size = pathElements.size(); - for (int fcount = 0; fcount < size - 1; fcount++) { - String currentPathElement = pathElements.get(fcount); + for (String currentPathElement : pathElements) { try { if (!this.client .changeWorkingDirectory(currentPathElement)) { @@ -871,14 +870,14 @@ public class FTP extends Task implements FTPTaskConfig { String soughtPathElement) { // we are already in the right path, so the second parameter // is false - FTPFile[] theFiles = listFiles(parentPath, false); - if (theFiles == null) { + FTPFile[] files = listFiles(parentPath, false); + if (files == null) { return null; } - for (FTPFile f : theFiles) { - if (f != null - && f.getName().equalsIgnoreCase(soughtPathElement)) { - return f.getName(); + for (FTPFile file : files) { + if (file != null + && file.getName().equalsIgnoreCase(soughtPathElement)) { + return file.getName(); } } return null; @@ -1815,8 +1814,8 @@ public class FTP extends Task implements FTPTaskConfig { if (action == RM_DIR) { // to remove directories, start by the end of the list // the trunk does not let itself be removed before the leaves - for (int i = dsfiles.length - 1; i >= 0; i--) { - final String dsfile = dsfiles[i]; + Arrays.sort(dsfiles, Comparator.reverseOrder()); + for (final String dsfile : dsfiles) { executeRetryable(h, () -> rmDir(ftp, dsfile), dsfile); } } else { @@ -1826,8 +1825,7 @@ public class FTP extends Task implements FTPTaskConfig { this.granularityMillis = this.timestampGranularity.getMilliseconds(action); } - for (int i = 0; i < dsfiles.length; i++) { - final String dsfile = dsfiles[i]; + for (final String dsfile : dsfiles) { executeRetryable(h, () -> { switch (action) { case SEND_FILES: @@ -2013,7 +2011,7 @@ public class FTP extends Task implements FTPTaskConfig { * find a suitable name for local and remote temporary file */ private File findFileName(FTPClient ftp) { - FTPFile[] theFiles = null; + FTPFile[] files = null; final int maxIterations = 1000; for (int counter = 1; counter < maxIterations; counter++) { File localFile = FILE_UTILS.createTempFile( @@ -2022,12 +2020,11 @@ public class FTP extends Task implements FTPTaskConfig { String fileName = localFile.getName(); boolean found = false; try { - if (theFiles == null) { - theFiles = ftp.listFiles(); + if (files == null) { + files = ftp.listFiles(); } - for (int counter2 = 0; counter2 < theFiles.length; counter2++) { - if (theFiles[counter2] != null - && theFiles[counter2].getName().equals(fileName)) { + for (FTPFile file : files) { + if (file != null && file.getName().equals(fileName)) { found = true; break; } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java b/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java index 3bff2d9fc..b60bf9514 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java @@ -27,6 +27,8 @@ import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Files; import java.text.SimpleDateFormat; +import java.util.Arrays; +import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; @@ -293,10 +295,10 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { Map newroots = new Hashtable<>(); // put in the newroots vector the include patterns without // wildcard tokens - for (int icounter = 0; icounter < includes.length; icounter++) { + for (String include : includes) { String newpattern = - SelectorUtils.rtrimWildcardTokens(includes[icounter]); - newroots.put(newpattern, includes[icounter]); + SelectorUtils.rtrimWildcardTokens(include); + newroots.put(newpattern, include); } if (task.getRemotedir() == null) { try { @@ -412,11 +414,10 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { ftp.changeToParentDirectory(); return; } - for (int i = 0; i < newfiles.length; i++) { - FTPFile file = newfiles[i]; + for (FTPFile file : newfiles) { if (file != null - && !".".equals(file.getName()) - && !"..".equals(file.getName())) { + && !".".equals(file.getName()) + && !"..".equals(file.getName())) { String name = vpath + file.getName(); scannedDirs.put(name, new FTPFileProxy(file)); if (isFunctioningAsDirectory(ftp, dir, file)) { @@ -426,7 +427,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { slowScanAllowed = false; } else if (isIncluded(name)) { accountForIncludedDir(name, - new AntFTPFile(ftp, file, completePath) , fast); + new AntFTPFile(ftp, file, completePath), fast); } else { dirsNotIncluded.addElement(name); if (fast && couldHoldIncluded(name)) { @@ -664,13 +665,13 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { private String fiddleName(String origin) { StringBuilder result = new StringBuilder(); - for (int icounter = 0; icounter < origin.length(); icounter++) { - if (Character.isLowerCase(origin.charAt(icounter))) { - result.append(Character.toUpperCase(origin.charAt(icounter))); - } else if (Character.isUpperCase(origin.charAt(icounter))) { - result.append(Character.toLowerCase(origin.charAt(icounter))); + for (char ch : origin.toCharArray()) { + if (Character.isLowerCase(ch)) { + result.append(Character.toUpperCase(ch)); + } else if (Character.isUpperCase(ch)) { + result.append(Character.toLowerCase(ch)); } else { - result.append(origin.charAt(icounter)); + result.append(ch); } } return result.toString(); @@ -733,9 +734,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { throw new BuildException( "could not change working dir to %s", parent.curpwd); } - final int size = pathElements.size(); - for (int fcount = 0; fcount < size - 1; fcount++) { - String currentPathElement = pathElements.get(fcount); + for (String currentPathElement : pathElements) { try { if (!this.client.changeWorkingDirectory(currentPathElement)) { if (!isCaseSensitive() && (remoteSystemCaseSensitive @@ -757,9 +756,8 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { currentPathElement, this.curpwd); } } - String lastpathelement = pathElements.get(size - 1); - FTPFile[] theFiles = listFiles(this.curpwd); - this.ftpFile = getFile(theFiles, lastpathelement); + String lastpathelement = pathElements.get(pathElements.size() - 1); + this.ftpFile = getFile(listFiles(this.curpwd), lastpathelement); } /** * find a file in a directory in case insensitive way @@ -771,14 +769,14 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { String soughtPathElement) { // we are already in the right path, so the second parameter // is false - FTPFile[] theFiles = listFiles(parentPath, false); - if (theFiles == null) { + FTPFile[] files = listFiles(parentPath, false); + if (files == null) { return null; } - for (FTPFile f : theFiles) { - if (f != null - && f.getName().equalsIgnoreCase(soughtPathElement)) { - return f.getName(); + for (FTPFile file : files) { + if (file != null + && file.getName().equalsIgnoreCase(soughtPathElement)) { + return file.getName(); } } return null; @@ -1188,8 +1186,8 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { if (task.getAction() == FTPTask.RM_DIR) { // to remove directories, start by the end of the list // the trunk does not let itself be removed before the leaves - for (int i = dsfiles.length - 1; i >= 0; i--) { - final String dsfile = dsfiles[i]; + Arrays.sort(dsfiles, Comparator.reverseOrder()); + for (final String dsfile : dsfiles) { executeRetryable(h, () -> rmDir(ftp, dsfile), dsfile); } } else { @@ -1199,8 +1197,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { task.setGranularityMillis(task.getTimestampGranularity() .getMilliseconds(task.getAction())); } - for (int i = 0; i < dsfiles.length; i++) { - final String dsfile = dsfiles[i]; + for (final String dsfile : dsfiles) { executeRetryable(h, () -> { switch (task.getAction()) { case FTPTask.SEND_FILES: @@ -1395,7 +1392,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { * find a suitable name for local and remote temporary file */ private File findFileName(FTPClient ftp) { - FTPFile[] theFiles = null; + FTPFile[] files = null; final int maxIterations = 1000; for (int counter = 1; counter < maxIterations; counter++) { File localFile = FILE_UTILS.createTempFile( @@ -1404,12 +1401,11 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror { String fileName = localFile.getName(); boolean found = false; try { - if (theFiles == null) { - theFiles = ftp.listFiles(); + if (files == null) { + files = ftp.listFiles(); } - for (int counter2 = 0; counter2 < theFiles.length; counter2++) { - if (theFiles[counter2] != null - && theFiles[counter2].getName().equals(fileName)) { + for (FTPFile file : files) { + if (file != null && file.getName().equals(fileName)) { found = true; break; } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java b/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java index dfb6e69ac..4616af6d7 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/sound/SoundTask.java @@ -147,10 +147,9 @@ public class SoundTask extends Task { if (source.exists()) { if (source.isDirectory()) { // get the list of files in the dir - String[] entries = source.list(); - Vector files = new Vector(); - for (int i = 0; i < entries.length; i++) { - File f = new File(source, entries[i]); + Vector files = new Vector<>(); + for (String file : source.list()) { + File f = new File(source, file); if (f.isFile()) { files.addElement(f); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHSession.java b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHSession.java index 016b90eea..98dceacdb 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHSession.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHSession.java @@ -84,10 +84,9 @@ public class SSHSession extends SSHBase { * tunnel specifications */ public void setLocaltunnels(final String tunnels) { - final String[] specs = tunnels.split(", "); - for (int i = 0; i < specs.length; i++) { - if (specs[i].length() > 0) { - final String[] spec = specs[i].split(":", 3); + for (String tunnelSpec : tunnels.split(", ")) { + if (tunnelSpec.length() > 0) { + final String[] spec = tunnelSpec.split(":", 3); final int lport = Integer.parseInt(spec[0]); final String rhost = spec[1]; final int rport = Integer.parseInt(spec[2]); @@ -107,10 +106,9 @@ public class SSHSession extends SSHBase { * tunnel specifications */ public void setRemotetunnels(final String tunnels) { - final String[] specs = tunnels.split(", "); - for (int i = 0; i < specs.length; i++) { - if (specs[i].length() > 0) { - final String[] spec = specs[i].split(":", 3); + for (String tunnelSpec : tunnels.split(", ")) { + if (tunnelSpec.length() > 0) { + final String[] spec = tunnelSpec.split(":", 3); final int rport = Integer.parseInt(spec[0]); final String lhost = spec[1]; final int lport = Integer.parseInt(spec[2]); diff --git a/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java b/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java index f3a050392..a97d8222a 100644 --- a/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java +++ b/src/main/org/apache/tools/ant/taskdefs/rmic/DefaultRmicAdapter.java @@ -205,8 +205,8 @@ public abstract class DefaultRmicAdapter implements RmicAdapter { Commandline cmd = new Commandline(); if (options != null) { - for (int i = 0; i < options.length; i++) { - cmd.createArgument().setValue(options[i]); + for (String option : options) { + cmd.createArgument().setValue(option); } } @@ -329,8 +329,7 @@ public abstract class DefaultRmicAdapter implements RmicAdapter { protected String[] filterJvmCompilerArgs(String[] compilerArgs) { int len = compilerArgs.length; List args = new ArrayList<>(len); - for (int i = 0; i < len; i++) { - String arg = compilerArgs[i]; + for (String arg : compilerArgs) { if (arg.startsWith("-J")) { attributes.log("Dropping " + arg + " from compiler arguments"); } else { diff --git a/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java b/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java index bf2775133..896513db1 100644 --- a/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java +++ b/src/main/org/apache/tools/ant/taskdefs/rmic/KaffeRmic.java @@ -63,12 +63,12 @@ public class KaffeRmic extends DefaultRmicAdapter { if (c == null) { StringBuilder buf = new StringBuilder( "Cannot use Kaffe rmic, as it is not available. None of "); - for (int i = 0; i < RMIC_CLASSNAMES.length; i++) { - if (i != 0) { + for (String className : RMIC_CLASSNAMES) { + if (buf.length() > 0) { buf.append(", "); } - buf.append(RMIC_CLASSNAMES[i]); + buf.append(className); } buf.append( " have been found. A common solution is to set the environment variable JAVA_HOME or CLASSPATH."); @@ -102,9 +102,9 @@ public class KaffeRmic extends DefaultRmicAdapter { * @return null if neither class can get loaded. */ private static Class getRmicClass() { - for (int i = 0; i < RMIC_CLASSNAMES.length; i++) { + for (String className : RMIC_CLASSNAMES) { try { - return Class.forName(RMIC_CLASSNAMES[i]); + return Class.forName(className); } catch (ClassNotFoundException cnfe) { // Ignore } diff --git a/src/main/org/apache/tools/ant/types/AbstractFileSet.java b/src/main/org/apache/tools/ant/types/AbstractFileSet.java index aac631104..56269b5ab 100644 --- a/src/main/org/apache/tools/ant/types/AbstractFileSet.java +++ b/src/main/org/apache/tools/ant/types/AbstractFileSet.java @@ -283,8 +283,8 @@ public abstract class AbstractFileSet extends DataType throw tooManyAttributes(); } if (includes != null) { - for (int i = 0; i < includes.length; i++) { - defaultPatterns.createInclude().setName(includes[i]); + for (String include : includes) { + defaultPatterns.createInclude().setName(include); } directoryScanner = null; } @@ -318,8 +318,8 @@ public abstract class AbstractFileSet extends DataType throw tooManyAttributes(); } if (excludes != null) { - for (int i = 0; i < excludes.length; i++) { - defaultPatterns.createExclude().setName(excludes[i]); + for (String exclude : excludes) { + defaultPatterns.createExclude().setName(exclude); } directoryScanner = null; } diff --git a/src/main/org/apache/tools/ant/types/Commandline.java b/src/main/org/apache/tools/ant/types/Commandline.java index 49d441255..f75be2f41 100644 --- a/src/main/org/apache/tools/ant/types/Commandline.java +++ b/src/main/org/apache/tools/ant/types/Commandline.java @@ -353,8 +353,8 @@ public class Commandline implements Cloneable { * @param line an array of arguments to append. */ public void addArguments(String[] line) { - for (int i = 0; i < line.length; i++) { - createArgument().setValue(line[i]); + for (String l : line) { + createArgument().setValue(l); } } @@ -397,13 +397,11 @@ public class Commandline implements Cloneable { * @since Ant 1.6 */ public void addArgumentsToList(ListIterator list) { - final int size = arguments.size(); - for (int i = 0; i < size; i++) { - Argument arg = arguments.get(i); + for (Argument arg : arguments) { String[] s = arg.getParts(); if (s != null) { - for (int j = 0; j < s.length; j++) { - list.add(s[j]); + for (String value : s) { + list.add(value); } } } diff --git a/src/main/org/apache/tools/ant/types/CommandlineJava.java b/src/main/org/apache/tools/ant/types/CommandlineJava.java index 59ef464f0..2ec4c08be 100644 --- a/src/main/org/apache/tools/ant/types/CommandlineJava.java +++ b/src/main/org/apache/tools/ant/types/CommandlineJava.java @@ -108,8 +108,8 @@ public class CommandlineJava implements Cloneable { public void addDefinitionsToList(ListIterator listIt) { String[] props = super.getVariables(); if (props != null) { - for (int i = 0; i < props.length; i++) { - listIt.add("-D" + props[i]); + for (String prop : props) { + listIt.add("-D" + prop); } } Properties propertySetProperties = mergePropertySets(); diff --git a/src/main/org/apache/tools/ant/types/FilterChain.java b/src/main/org/apache/tools/ant/types/FilterChain.java index da7d96716..6bad602dc 100644 --- a/src/main/org/apache/tools/ant/types/FilterChain.java +++ b/src/main/org/apache/tools/ant/types/FilterChain.java @@ -17,7 +17,6 @@ */ package org.apache.tools.ant.types; -import java.util.Iterator; import java.util.Stack; import java.util.Vector; @@ -405,8 +404,7 @@ public class FilterChain extends DataType { if (isReference()) { super.dieOnCircularReference(stk, p); } else { - for (Iterator i = filterReaders.iterator(); i.hasNext();) { - Object o = i.next(); + for (Object o : filterReaders) { if (o instanceof DataType) { pushAndInvokeCircularReferenceCheck((DataType) o, stk, p); } diff --git a/src/main/org/apache/tools/ant/types/FilterSet.java b/src/main/org/apache/tools/ant/types/FilterSet.java index 7ad6a7d43..133a27b76 100644 --- a/src/main/org/apache/tools/ant/types/FilterSet.java +++ b/src/main/org/apache/tools/ant/types/FilterSet.java @@ -222,9 +222,8 @@ public class FilterSet extends DataType implements Cloneable { // silly hack to avoid stack overflow... if (!readingFiles) { readingFiles = true; - final int size = filtersFiles.size(); - for (int i = 0; i < size; i++) { - readFiltersFromFile(filtersFiles.get(i)); + for (File filtersFile : filtersFiles) { + readFiltersFromFile(filtersFile); } filtersFiles.clear(); readingFiles = false; diff --git a/src/main/org/apache/tools/ant/types/Path.java b/src/main/org/apache/tools/ant/types/Path.java index 74f7c46a5..b52ca29f6 100644 --- a/src/main/org/apache/tools/ant/types/Path.java +++ b/src/main/org/apache/tools/ant/types/Path.java @@ -21,6 +21,7 @@ package org.apache.tools.ant.types; import java.io.File; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -330,17 +331,16 @@ public class Path extends DataType implements Cloneable, ResourceCollection { * @param tryUserDir if true try the user directory if the file is not present */ public void addExisting(Path source, boolean tryUserDir) { - String[] list = source.list(); File userDir = (tryUserDir) ? new File(System.getProperty("user.dir")) : null; - for (int i = 0; i < list.length; i++) { - File f = resolveFile(getProject(), list[i]); + for (String name : source.list()) { + File f = resolveFile(getProject(), name); // probably not the best choice, but it solves the problem of // relative paths in CLASSPATH if (tryUserDir && !f.exists()) { - f = new File(userDir, list[i]); + f = new File(userDir, name); } if (f.exists()) { setLocation(f); @@ -631,28 +631,25 @@ public class Path extends DataType implements Cloneable, ResourceCollection { + File.separator + "rt.jar")); // Sun's and Apple's 1.4 have JCE and JSSE in separate jars. - String[] secJars = {"jce", "jsse"}; - for (int i = 0; i < secJars.length; i++) { + for (String secJar : Arrays.asList("jce", "jsse")) { addExisting(new Path(null, - System.getProperty("java.home") - + File.separator + "lib" - + File.separator + secJars[i] + ".jar")); + System.getProperty("java.home") + + File.separator + "lib" + + File.separator + secJar + ".jar")); addExisting(new Path(null, - System.getProperty("java.home") - + File.separator + ".." - + File.separator + "Classes" - + File.separator + secJars[i] + ".jar")); + System.getProperty("java.home") + + File.separator + ".." + + File.separator + "Classes" + + File.separator + secJar + ".jar")); } // IBM's 1.4 has rt.jar split into 4 smaller jars and a combined // JCE/JSSE in security.jar. - String[] ibmJars - = {"core", "graphics", "security", "server", "xml"}; - for (int i = 0; i < ibmJars.length; i++) { + for (String ibmJar : Arrays.asList("core", "graphics", "security", "server", "xml")) { addExisting(new Path(null, - System.getProperty("java.home") - + File.separator + "lib" - + File.separator + ibmJars[i] + ".jar")); + System.getProperty("java.home") + + File.separator + "lib" + + File.separator + ibmJar + ".jar")); } // Added for MacOS X @@ -686,9 +683,8 @@ public class Path extends DataType implements Cloneable, ResourceCollection { } } - String[] dirs = extdirs.list(); - for (int i = 0; i < dirs.length; i++) { - File dir = resolveFile(getProject(), dirs[i]); + for (String d : extdirs.list()) { + File dir = resolveFile(getProject(), d); if (dir.exists() && dir.isDirectory()) { FileSet fs = new FileSet(); fs.setDir(dir); diff --git a/src/main/org/apache/tools/ant/types/PatternSet.java b/src/main/org/apache/tools/ant/types/PatternSet.java index ade040abe..ffa35249a 100644 --- a/src/main/org/apache/tools/ant/types/PatternSet.java +++ b/src/main/org/apache/tools/ant/types/PatternSet.java @@ -230,13 +230,13 @@ public class PatternSet extends DataType implements Cloneable { String[] nestedExcludes = p.getExcludePatterns(getProject()); if (nestedIncludes != null) { - for (int i = 0; i < nestedIncludes.length; i++) { - createInclude().setName(nestedIncludes[i]); + for (String nestedInclude : nestedIncludes) { + createInclude().setName(nestedInclude); } } if (nestedExcludes != null) { - for (int i = 0; i < nestedExcludes.length; i++) { - createExclude().setName(nestedExcludes[i]); + for (String nestedExclude : nestedExcludes) { + createExclude().setName(nestedExclude); } } } @@ -391,14 +391,14 @@ public class PatternSet extends DataType implements Cloneable { dieOnCircularReference(p); String[] incl = other.getIncludePatterns(p); if (incl != null) { - for (int i = 0; i < incl.length; i++) { - createInclude().setName(incl[i]); + for (String include : incl) { + createInclude().setName(include); } } String[] excl = other.getExcludePatterns(p); if (excl != null) { - for (int i = 0; i < excl.length; i++) { - createExclude().setName(excl[i]); + for (String exclude : excl) { + createExclude().setName(exclude); } } } diff --git a/src/main/org/apache/tools/ant/types/Quantifier.java b/src/main/org/apache/tools/ant/types/Quantifier.java index a62346fa4..ed5a2e3e6 100644 --- a/src/main/org/apache/tools/ant/types/Quantifier.java +++ b/src/main/org/apache/tools/ant/types/Quantifier.java @@ -154,8 +154,8 @@ public class Quantifier extends EnumeratedAttribute { */ public boolean evaluate(boolean[] b) { int t = 0; - for (int i = 0; i < b.length; i++) { - if (b[i]) { + for (boolean bn : b) { + if (bn) { t++; } } diff --git a/src/main/org/apache/tools/ant/types/RedirectorElement.java b/src/main/org/apache/tools/ant/types/RedirectorElement.java index c21850f64..71475a57f 100644 --- a/src/main/org/apache/tools/ant/types/RedirectorElement.java +++ b/src/main/org/apache/tools/ant/types/RedirectorElement.java @@ -573,9 +573,9 @@ public class RedirectorElement extends DataType { } //remove any null elements ArrayList list = new ArrayList<>(name.length); - for (int i = 0; i < name.length; i++) { - if (name[i] != null) { - list.add(getProject().resolveFile(name[i])); + for (String n : name) { + if (n != null) { + list.add(getProject().resolveFile(n)); } } return (File[]) (list.toArray(new File[list.size()])); @@ -597,11 +597,10 @@ public class RedirectorElement extends DataType { if (isReference()) { super.dieOnCircularReference(stk, p); } else { - Mapper[] m = new Mapper[] {inputMapper, outputMapper, errorMapper}; - for (int i = 0; i < m.length; i++) { - if (m[i] != null) { - stk.push(m[i]); - m[i].dieOnCircularReference(stk, p); + for (Mapper m : Arrays.asList(inputMapper, outputMapper, errorMapper)) { + if (m != null) { + stk.push(m); + m.dieOnCircularReference(stk, p); stk.pop(); } } diff --git a/src/main/org/apache/tools/ant/types/XMLCatalog.java b/src/main/org/apache/tools/ant/types/XMLCatalog.java index 78577a25f..340f3ed90 100644 --- a/src/main/org/apache/tools/ant/types/XMLCatalog.java +++ b/src/main/org/apache/tools/ant/types/XMLCatalog.java @@ -1107,14 +1107,13 @@ public class XMLCatalog extends DataType if (catPath != null) { log("Using catalogpath '" + getCatalogPath() + "'", Project.MSG_DEBUG); - String[] catPathList = getCatalogPath().list(); - for (int i = 0; i < catPathList.length; i++) { - File catFile = new File(catPathList[i]); + for (String catFileName : getCatalogPath().list()) { + File catFile = new File(catFileName); log("Parsing " + catFile, Project.MSG_DEBUG); try { parseCatalog.invoke(resolverImpl, - new Object[] {catFile.getPath()}); + new Object[]{catFile.getPath()}); } catch (Exception ex) { throw new BuildException(ex); } diff --git a/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java b/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java index 6e8b6e688..a0dd3cd9a 100644 --- a/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java +++ b/src/main/org/apache/tools/ant/types/optional/depend/ClassfileSet.java @@ -130,10 +130,9 @@ public class ClassfileSet extends FileSet { for (FileSet additionalRootSet : rootFileSets) { DirectoryScanner additionalScanner = additionalRootSet.getDirectoryScanner(p); - String[] files = additionalScanner.getIncludedFiles(); - for (int i = 0; i < files.length; ++i) { - if (files[i].endsWith(".class")) { - String classFilePath = StringUtils.removeSuffix(files[i], ".class"); + for (String file : additionalScanner.getIncludedFiles()) { + if (file.endsWith(".class")) { + String classFilePath = StringUtils.removeSuffix(file, ".class"); String className = classFilePath.replace('/', '.').replace('\\', '.'); allRootClasses.addElement(className); diff --git a/src/main/org/apache/tools/ant/types/resources/BZip2Resource.java b/src/main/org/apache/tools/ant/types/resources/BZip2Resource.java index 787407b7f..c58f6f123 100644 --- a/src/main/org/apache/tools/ant/types/resources/BZip2Resource.java +++ b/src/main/org/apache/tools/ant/types/resources/BZip2Resource.java @@ -55,8 +55,8 @@ public class BZip2Resource extends CompressedResource { */ @Override protected InputStream wrapStream(InputStream in) throws IOException { - for (int i = 0; i < MAGIC.length; i++) { - if (in.read() != MAGIC[i]) { + for (char ch : MAGIC) { + if (in.read() != ch) { throw new IOException("Invalid bz2 stream."); } } @@ -71,8 +71,8 @@ public class BZip2Resource extends CompressedResource { */ @Override protected OutputStream wrapStream(OutputStream out) throws IOException { - for (int i = 0; i < MAGIC.length; i++) { - out.write(MAGIC[i]); + for (char ch : MAGIC) { + out.write(ch); } return new CBZip2OutputStream(out); } diff --git a/src/main/org/apache/tools/ant/types/resources/Files.java b/src/main/org/apache/tools/ant/types/resources/Files.java index 2a1779dca..1652e527c 100644 --- a/src/main/org/apache/tools/ant/types/resources/Files.java +++ b/src/main/org/apache/tools/ant/types/resources/Files.java @@ -180,8 +180,8 @@ public class Files extends AbstractSelectorContainer public synchronized void appendIncludes(String[] includes) { checkAttributesAllowed(); if (includes != null) { - for (int i = 0; i < includes.length; i++) { - defaultPatterns.createInclude().setName(includes[i]); + for (String include : includes) { + defaultPatterns.createInclude().setName(include); } ds = null; } @@ -210,8 +210,8 @@ public class Files extends AbstractSelectorContainer public synchronized void appendExcludes(String[] excludes) { checkAttributesAllowed(); if (excludes != null) { - for (int i = 0; i < excludes.length; i++) { - defaultPatterns.createExclude().setName(excludes[i]); + for (String exclude : excludes) { + defaultPatterns.createExclude().setName(exclude); } ds = null; } diff --git a/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java b/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java index b139b6288..020229af8 100644 --- a/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/ContainsRegexpSelector.java @@ -111,17 +111,16 @@ public class ContainsRegexpSelector extends BaseExtendSelector public void setParameters(Parameter... parameters) { super.setParameters(parameters); if (parameters != null) { - for (int i = 0; i < parameters.length; i++) { - String paramname = parameters[i].getName(); + for (Parameter parameter : parameters) { + String paramname = parameter.getName(); if (EXPRESSION_KEY.equalsIgnoreCase(paramname)) { - setExpression(parameters[i].getValue()); + setExpression(parameter.getValue()); } else if (CS_KEY.equalsIgnoreCase(paramname)) { - setCaseSensitive(Project - .toBoolean(parameters[i].getValue())); + setCaseSensitive(Project.toBoolean(parameter.getValue())); } else if (ML_KEY.equalsIgnoreCase(paramname)) { - setMultiLine(Project.toBoolean(parameters[i].getValue())); + setMultiLine(Project.toBoolean(parameter.getValue())); } else if (SL_KEY.equalsIgnoreCase(paramname)) { - setSingleLine(Project.toBoolean(parameters[i].getValue())); + setSingleLine(Project.toBoolean(parameter.getValue())); } else { setError("Invalid parameter " + paramname); } diff --git a/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java b/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java index f75367e36..ebfd1eab3 100644 --- a/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/ContainsSelector.java @@ -111,16 +111,16 @@ public class ContainsSelector extends BaseExtendSelector implements ResourceSele public void setParameters(Parameter... parameters) { super.setParameters(parameters); if (parameters != null) { - for (int i = 0; i < parameters.length; i++) { - String paramname = parameters[i].getName(); + for (Parameter parameter : parameters) { + String paramname = parameter.getName(); if (CONTAINS_KEY.equalsIgnoreCase(paramname)) { - setText(parameters[i].getValue()); + setText(parameter.getValue()); } else if (CASE_KEY.equalsIgnoreCase(paramname)) { setCasesensitive(Project.toBoolean( - parameters[i].getValue())); + parameter.getValue())); } else if (WHITESPACE_KEY.equalsIgnoreCase(paramname)) { setIgnorewhitespace(Project.toBoolean( - parameters[i].getValue())); + parameter.getValue())); } else { setError("Invalid parameter " + paramname); } diff --git a/src/main/org/apache/tools/ant/types/selectors/DateSelector.java b/src/main/org/apache/tools/ant/types/selectors/DateSelector.java index d05a75262..ed7d96e9e 100644 --- a/src/main/org/apache/tools/ant/types/selectors/DateSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/DateSelector.java @@ -160,30 +160,30 @@ public class DateSelector extends BaseExtendSelector { public void setParameters(Parameter... parameters) { super.setParameters(parameters); if (parameters != null) { - for (int i = 0; i < parameters.length; i++) { - String paramname = parameters[i].getName(); + for (Parameter parameter : parameters) { + String paramname = parameter.getName(); if (MILLIS_KEY.equalsIgnoreCase(paramname)) { try { - setMillis(Long.parseLong(parameters[i].getValue())); + setMillis(Long.parseLong(parameter.getValue())); } catch (NumberFormatException nfe) { setError("Invalid millisecond setting " - + parameters[i].getValue()); + + parameter.getValue()); } } else if (DATETIME_KEY.equalsIgnoreCase(paramname)) { - setDatetime(parameters[i].getValue()); + setDatetime(parameter.getValue()); } else if (CHECKDIRS_KEY.equalsIgnoreCase(paramname)) { - setCheckdirs(Project.toBoolean(parameters[i].getValue())); + setCheckdirs(Project.toBoolean(parameter.getValue())); } else if (GRANULARITY_KEY.equalsIgnoreCase(paramname)) { try { - setGranularity(Integer.parseInt(parameters[i].getValue())); + setGranularity(Integer.parseInt(parameter.getValue())); } catch (NumberFormatException nfe) { setError("Invalid granularity setting " - + parameters[i].getValue()); + + parameter.getValue()); } } else if (WHEN_KEY.equalsIgnoreCase(paramname)) { - setWhen(new TimeComparison(parameters[i].getValue())); + setWhen(new TimeComparison(parameter.getValue())); } else if (PATTERN_KEY.equalsIgnoreCase(paramname)) { - setPattern(parameters[i].getValue()); + setPattern(parameter.getValue()); } else { setError("Invalid parameter " + paramname); } diff --git a/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java b/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java index e3139830b..5b6374e3f 100644 --- a/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/DepthSelector.java @@ -84,21 +84,21 @@ public class DepthSelector extends BaseExtendSelector { public void setParameters(Parameter... parameters) { super.setParameters(parameters); if (parameters != null) { - for (int i = 0; i < parameters.length; i++) { - String paramname = parameters[i].getName(); + for (Parameter parameter : parameters) { + String paramname = parameter.getName(); if (MIN_KEY.equalsIgnoreCase(paramname)) { try { - setMin(Integer.parseInt(parameters[i].getValue())); + setMin(Integer.parseInt(parameter.getValue())); } catch (NumberFormatException nfe1) { setError("Invalid minimum value " - + parameters[i].getValue()); + + parameter.getValue()); } } else if (MAX_KEY.equalsIgnoreCase(paramname)) { try { - setMax(Integer.parseInt(parameters[i].getValue())); + setMax(Integer.parseInt(parameter.getValue())); } catch (NumberFormatException nfe1) { setError("Invalid maximum value " - + parameters[i].getValue()); + + parameter.getValue()); } } else { setError("Invalid parameter " + paramname); diff --git a/src/main/org/apache/tools/ant/types/selectors/FilenameSelector.java b/src/main/org/apache/tools/ant/types/selectors/FilenameSelector.java index 21cc90100..e9a91a52e 100644 --- a/src/main/org/apache/tools/ant/types/selectors/FilenameSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/FilenameSelector.java @@ -125,17 +125,17 @@ public class FilenameSelector extends BaseExtendSelector { public void setParameters(Parameter... parameters) { super.setParameters(parameters); if (parameters != null) { - for (int i = 0; i < parameters.length; i++) { - String paramname = parameters[i].getName(); + for (Parameter parameter : parameters) { + String paramname = parameter.getName(); if (NAME_KEY.equalsIgnoreCase(paramname)) { - setName(parameters[i].getValue()); + setName(parameter.getValue()); } else if (CASE_KEY.equalsIgnoreCase(paramname)) { setCasesensitive(Project.toBoolean( - parameters[i].getValue())); + parameter.getValue())); } else if (NEGATE_KEY.equalsIgnoreCase(paramname)) { - setNegate(Project.toBoolean(parameters[i].getValue())); + setNegate(Project.toBoolean(parameter.getValue())); } else if (REGEX_KEY.equalsIgnoreCase(paramname)) { - setRegex(parameters[i].getValue()); + setRegex(parameter.getValue()); } else { setError("Invalid parameter " + paramname); } diff --git a/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java b/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java index baa79bdbf..7ed9e99cc 100644 --- a/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java +++ b/src/main/org/apache/tools/ant/types/selectors/SelectorUtils.java @@ -364,8 +364,8 @@ public final class SelectorUtils { int strIdxEnd = strArr.length - 1; boolean containsStar = false; - for (int i = 0; i < patArr.length; i++) { - if (patArr[i] == '*') { + for (char ch : patArr) { + if (ch == '*') { containsStar = true; break; } diff --git a/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java b/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java index 8022fa6b1..aa27377f8 100644 --- a/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/SizeSelector.java @@ -161,22 +161,22 @@ public class SizeSelector extends BaseExtendSelector { public void setParameters(Parameter... parameters) { super.setParameters(parameters); if (parameters != null) { - for (int i = 0; i < parameters.length; i++) { - String paramname = parameters[i].getName(); + for (Parameter parameter : parameters) { + String paramname = parameter.getName(); if (SIZE_KEY.equalsIgnoreCase(paramname)) { try { - setValue(Long.parseLong(parameters[i].getValue())); + setValue(Long.parseLong(parameter.getValue())); } catch (NumberFormatException nfe) { setError("Invalid size setting " - + parameters[i].getValue()); + + parameter.getValue()); } } else if (UNITS_KEY.equalsIgnoreCase(paramname)) { ByteUnits units = new ByteUnits(); - units.setValue(parameters[i].getValue()); + units.setValue(parameter.getValue()); setUnits(units); } else if (WHEN_KEY.equalsIgnoreCase(paramname)) { SizeComparisons scmp = new SizeComparisons(); - scmp.setValue(parameters[i].getValue()); + scmp.setValue(parameter.getValue()); setWhen(scmp); } else { setError("Invalid parameter " + paramname); diff --git a/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java b/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java index d94d08afe..cf565f7a2 100644 --- a/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java +++ b/src/main/org/apache/tools/ant/types/selectors/TokenizedPath.java @@ -140,17 +140,17 @@ public class TokenizedPath { * @return boolean */ public boolean isSymlink(File base) { - for (int i = 0; i < tokenizedPath.length; i++) { + for (String token : tokenizedPath) { final Path pathToTraverse; if (base == null) { - pathToTraverse = Paths.get(tokenizedPath[i]); + pathToTraverse = Paths.get(token); } else { - pathToTraverse = Paths.get(base.toPath().toString(), tokenizedPath[i]); + pathToTraverse = Paths.get(base.toPath().toString(), token); } if (Files.isSymbolicLink(pathToTraverse)) { return true; } - base = new File(base, tokenizedPath[i]); + base = new File(base, token); } return false; } @@ -181,7 +181,7 @@ public class TokenizedPath { */ private static File findFile(File base, final String[] pathElements, final boolean cs) { - for (int current = 0; current < pathElements.length; current++) { + for (String pathElement : pathElements) { if (!base.isDirectory()) { return null; } @@ -195,8 +195,8 @@ public class TokenizedPath { for (int i = 0; !found && i < matchCase.length; i++) { for (int j = 0; !found && j < files.length; j++) { if (matchCase[i] - ? files[j].equals(pathElements[current]) - : files[j].equalsIgnoreCase(pathElements[current])) { + ? files[j].equals(pathElement) + : files[j].equalsIgnoreCase(pathElement)) { base = new File(base, files[j]); found = true; } diff --git a/src/main/org/apache/tools/ant/types/selectors/TypeSelector.java b/src/main/org/apache/tools/ant/types/selectors/TypeSelector.java index 5d09c1777..0a61141af 100644 --- a/src/main/org/apache/tools/ant/types/selectors/TypeSelector.java +++ b/src/main/org/apache/tools/ant/types/selectors/TypeSelector.java @@ -63,11 +63,11 @@ public class TypeSelector extends BaseExtendSelector { public void setParameters(Parameter... parameters) { super.setParameters(parameters); if (parameters != null) { - for (int i = 0; i < parameters.length; i++) { - String paramname = parameters[i].getName(); + for (Parameter parameter : parameters) { + String paramname = parameter.getName(); if (TYPE_KEY.equalsIgnoreCase(paramname)) { FileType t = new FileType(); - t.setValue(parameters[i].getValue()); + t.setValue(parameter.getValue()); setType(t); } else { setError("Invalid parameter " + paramname); diff --git a/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java b/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java index d8f7cc9fe..d75dbccb9 100644 --- a/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java +++ b/src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java @@ -20,6 +20,7 @@ package org.apache.tools.ant.types.selectors.modifiedselector; import java.io.File; +import java.io.IOException; import java.nio.file.Files; import java.security.DigestInputStream; import java.security.MessageDigest; @@ -152,33 +153,29 @@ public class DigestAlgorithm implements Algorithm { // implementation adapted from ...taskdefs.Checksum, thanks to Magesh for hint @Override public String getValue(File file) { + if (!file.canRead()) { + return null; + } initMessageDigest(); - try { - if (file.canRead()) { - byte[] buf = new byte[readBufferSize]; - messageDigest.reset(); - try (DigestInputStream dis = new DigestInputStream( - Files.newInputStream(file.toPath()), messageDigest)) { - // read the whole stream - while (dis.read(buf, 0, readBufferSize) != -1) { - } - byte[] fileDigest = messageDigest.digest(); - StringBuilder checksumSb = new StringBuilder(); - for (int i = 0; i < fileDigest.length; i++) { - String hexStr = - Integer.toHexString(BYTE_MASK & fileDigest[i]); - if (hexStr.length() < 2) { - checksumSb.append('0'); - } - checksumSb.append(hexStr); - } - return checksumSb.toString(); - } catch (Exception ignored) { + byte[] buf = new byte[readBufferSize]; + messageDigest.reset(); + try (DigestInputStream dis = new DigestInputStream(Files.newInputStream(file.toPath()), + messageDigest)) { + // read the whole stream + while (dis.read(buf, 0, readBufferSize) != -1) { + } + StringBuilder checksumSb = new StringBuilder(); + for (byte digestByte : messageDigest.digest()) { + String hexStr = Integer.toHexString(BYTE_MASK & digestByte); + if (hexStr.length() < 2) { + checksumSb.append('0'); } + checksumSb.append(hexStr); } - } catch (Exception ignored) { + return checksumSb.toString(); + } catch (IOException ignored) { + return null; } - return null; } /** diff --git a/src/main/org/apache/tools/ant/util/DOMElementWriter.java b/src/main/org/apache/tools/ant/util/DOMElementWriter.java index 2f2edc3e0..f76d7b7f6 100644 --- a/src/main/org/apache/tools/ant/util/DOMElementWriter.java +++ b/src/main/org/apache/tools/ant/util/DOMElementWriter.java @@ -575,8 +575,8 @@ public class DOMElementWriter { } String name = ent.substring(1, ent.length() - 1); - for (int i = 0; i < knownEntities.length; i++) { - if (name.equals(knownEntities[i])) { + for (String knownEntity : knownEntities) { + if (name.equals(knownEntity)) { return true; } } diff --git a/src/main/org/apache/tools/ant/util/JavaEnvUtils.java b/src/main/org/apache/tools/ant/util/JavaEnvUtils.java index b8f9876e3..b465b61fb 100644 --- a/src/main/org/apache/tools/ant/util/JavaEnvUtils.java +++ b/src/main/org/apache/tools/ant/util/JavaEnvUtils.java @@ -579,8 +579,8 @@ public final class JavaEnvUtils { throws IOException { File script = FILE_UTILS.createTempFile("ANT", ".JAVA_OPTS", null, false, true); try (BufferedWriter out = new BufferedWriter(new FileWriter(script))) { - for (int i = 0; i < cmds.length; i++) { - out.write(cmds[i]); + for (String cmd : cmds) { + out.write(cmd); out.newLine(); } } diff --git a/src/main/org/apache/tools/ant/util/LayoutPreservingProperties.java b/src/main/org/apache/tools/ant/util/LayoutPreservingProperties.java index b001443cd..a34a3097c 100644 --- a/src/main/org/apache/tools/ant/util/LayoutPreservingProperties.java +++ b/src/main/org/apache/tools/ant/util/LayoutPreservingProperties.java @@ -544,8 +544,7 @@ public class LayoutPreservingProperties extends Properties { final String escaped = "tfrn\\:=#!"; final StringBuilder buffy = new StringBuilder(s.length()); boolean leadingSpace = true; - for (int i = 0; i < ch.length; i++) { - final char c = ch[i]; + for (final char c : ch) { if (c == ' ') { if (escapeAllSpaces || leadingSpace) { buffy.append("\\"); diff --git a/src/main/org/apache/tools/ant/util/ResourceUtils.java b/src/main/org/apache/tools/ant/util/ResourceUtils.java index 8e042ba7d..fcc3668a7 100644 --- a/src/main/org/apache/tools/ant/util/ResourceUtils.java +++ b/src/main/org/apache/tools/ant/util/ResourceUtils.java @@ -191,15 +191,13 @@ public class ResourceUtils { Project.MSG_VERBOSE); continue; } - for (int i = 0; i < targetnames.length; i++) { - if (targetnames[i] == null) { - targetnames[i] = "(no name)"; - } - } final Union targetColl = new Union(); - for (int i = 0; i < targetnames.length; i++) { + for (String targetname : targetnames) { + if (targetname == null) { + targetname = "(no name)"; + } targetColl.add(targets.getResource( - targetnames[i].replace(File.separatorChar, '/'))); + targetname.replace(File.separatorChar, '/'))); } //find the out-of-date targets: final Restrict r = new Restrict(); diff --git a/src/main/org/apache/tools/ant/util/SplitClassLoader.java b/src/main/org/apache/tools/ant/util/SplitClassLoader.java index c3f61e334..50699369b 100644 --- a/src/main/org/apache/tools/ant/util/SplitClassLoader.java +++ b/src/main/org/apache/tools/ant/util/SplitClassLoader.java @@ -64,9 +64,9 @@ public final class SplitClassLoader extends AntClassLoader { private boolean isSplit(String classname) { String simplename = classname.substring(classname.lastIndexOf('.') + 1); - for (int i = 0; i < splitClasses.length; i++) { - if (simplename.equals(splitClasses[i]) - || simplename.startsWith(splitClasses[i] + '$')) { + for (String splitClass : splitClasses) { + if (simplename.equals(splitClass) + || simplename.startsWith(splitClass + '$')) { return true; } } diff --git a/src/main/org/apache/tools/ant/util/StringTokenizer.java b/src/main/org/apache/tools/ant/util/StringTokenizer.java index 58353353c..590ec924c 100644 --- a/src/main/org/apache/tools/ant/util/StringTokenizer.java +++ b/src/main/org/apache/tools/ant/util/StringTokenizer.java @@ -143,8 +143,8 @@ public class StringTokenizer extends ProjectComponent implements Tokenizer { if (delims == null) { return Character.isWhitespace(ch); } - for (int i = 0; i < delims.length; ++i) { - if (delims[i] == ch) { + for (char delim : delims) { + if (delim == ch) { return true; } } diff --git a/src/main/org/apache/tools/ant/util/WeakishReference.java b/src/main/org/apache/tools/ant/util/WeakishReference.java index d7c15b02f..cad5179ea 100644 --- a/src/main/org/apache/tools/ant/util/WeakishReference.java +++ b/src/main/org/apache/tools/ant/util/WeakishReference.java @@ -38,7 +38,7 @@ import java.lang.ref.WeakReference; public class WeakishReference { - private WeakReference weakref; + private WeakReference weakref; /** * create a new soft reference, which is bound to a @@ -48,7 +48,7 @@ public class WeakishReference { * @see java.lang.ref.WeakReference */ WeakishReference(Object reference) { - this.weakref = new WeakReference(reference); + this.weakref = new WeakReference<>(reference); } /** diff --git a/src/main/org/apache/tools/ant/util/depend/AbstractAnalyzer.java b/src/main/org/apache/tools/ant/util/depend/AbstractAnalyzer.java index d2f032385..0f4a8fd5e 100644 --- a/src/main/org/apache/tools/ant/util/depend/AbstractAnalyzer.java +++ b/src/main/org/apache/tools/ant/util/depend/AbstractAnalyzer.java @@ -266,8 +266,8 @@ public abstract class AbstractAnalyzer implements DependencyAnalyzer { */ private File getResourceContainer(String resourceLocation, String[] paths) throws IOException { - for (int i = 0; i < paths.length; ++i) { - File element = new File(paths[i]); + for (String path : paths) { + File element = new File(path); if (!element.exists()) { continue; } diff --git a/src/main/org/apache/tools/mail/MailMessage.java b/src/main/org/apache/tools/mail/MailMessage.java index 7eb0bc159..a863f38c4 100644 --- a/src/main/org/apache/tools/mail/MailMessage.java +++ b/src/main/org/apache/tools/mail/MailMessage.java @@ -439,8 +439,8 @@ public class MailMessage { boolean isResponseOK(String response, int[] ok) { // Check that the response is one of the valid codes - for (int i = 0; i < ok.length; i++) { - if (response.startsWith("" + ok[i])) { + for (int status : ok) { + if (response.startsWith("" + status)) { return true; } } @@ -508,9 +508,8 @@ class MailPrintStream extends PrintStream { } void rawPrint(String s) { - int len = s.length(); - for (int i = 0; i < len; i++) { - rawWrite(s.charAt(i)); + for (char ch : s.toCharArray()) { + rawWrite(ch); } } } diff --git a/src/main/org/apache/tools/tar/TarUtils.java b/src/main/org/apache/tools/tar/TarUtils.java index 93d1583c8..fcd0c4e1f 100644 --- a/src/main/org/apache/tools/tar/TarUtils.java +++ b/src/main/org/apache/tools/tar/TarUtils.java @@ -65,8 +65,7 @@ public class TarUtils { final int length = buffer.length; final StringBuilder result = new StringBuilder(length); - for (int i = 0; i < length; ++i) { - final byte b = buffer[i]; + for (final byte b : buffer) { if (b == 0) { // Trailing null break; } diff --git a/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java b/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java index 261beec56..789c04522 100644 --- a/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java +++ b/src/main/org/apache/tools/zip/Simple8BitZipEncoding.java @@ -107,8 +107,8 @@ class Simple8BitZipEncoding implements ZipEncoding { byte code = 127; - for (int i = 0; i < this.highChars.length; ++i) { - temp.add(new Simple8BitChar(++code, this.highChars[i])); + for (char highChar : this.highChars) { + temp.add(new Simple8BitChar(++code, highChar)); } Collections.sort(temp); diff --git a/src/tests/junit/org/apache/tools/ant/IntrospectionHelperTest.java b/src/tests/junit/org/apache/tools/ant/IntrospectionHelperTest.java index 40e44bea3..ae77f50c1 100644 --- a/src/tests/junit/org/apache/tools/ant/IntrospectionHelperTest.java +++ b/src/tests/junit/org/apache/tools/ant/IntrospectionHelperTest.java @@ -205,8 +205,8 @@ public class IntrospectionHelperTest { } } - private Map getExpectedNestedElements() { - Map elemMap = new Hashtable(); + private Map> getExpectedNestedElements() { + Map> elemMap = new Hashtable<>(); elemMap.put("six", String.class); elemMap.put("thirteen", StringBuffer.class); elemMap.put("fourteen", StringBuffer.class); @@ -216,7 +216,7 @@ public class IntrospectionHelperTest { @Test public void testGetNestedElements() { - Map elemMap = getExpectedNestedElements(); + Map> elemMap = getExpectedNestedElements(); Enumeration e = ih.getNestedElements(); while (e.hasMoreElements()) { String name = (String) e.nextElement(); @@ -231,12 +231,11 @@ public class IntrospectionHelperTest { @Test public void testGetNestedElementMap() { - Map elemMap = getExpectedNestedElements(); - Map actualMap = ih.getNestedElementMap(); - for (Iterator i = actualMap.entrySet().iterator(); i.hasNext();) { - Map.Entry entry = (Map.Entry) i.next(); + Map> elemMap = getExpectedNestedElements(); + Map> actualMap = ih.getNestedElementMap(); + for (Map.Entry> entry : actualMap.entrySet()) { String elemName = (String) entry.getKey(); - Class elemClass = (Class) elemMap.get(elemName); + Class elemClass = (Class) elemMap.get(elemName); assertNotNull("Support for " + elemName + " in IntrospectionHelperTest?", elemClass); assertEquals("Type of " + elemName, elemClass, entry.getValue()); @@ -509,10 +508,9 @@ public class IntrospectionHelperTest { @Test public void testGetAttributeMap() { - Map attrMap = getExpectedAttributes(); - Map actualMap = ih.getAttributeMap(); - for (Iterator i = actualMap.entrySet().iterator(); i.hasNext();) { - Map.Entry entry = (Map.Entry) i.next(); + Map> attrMap = getExpectedAttributes(); + Map> actualMap = ih.getAttributeMap(); + for (Map.Entry> entry : actualMap.entrySet()) { String attrName = (String) entry.getKey(); Class attrClass = (Class) attrMap.get(attrName); assertNotNull("Support for " + attrName + diff --git a/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java b/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java index 1bad429c7..003f1a964 100644 --- a/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java +++ b/src/tests/junit/org/apache/tools/ant/UnknownElementTest.java @@ -96,7 +96,7 @@ public class UnknownElementTest { } public static class Parent extends Task implements TaskContainer { - List children = new ArrayList(); + List children = new ArrayList<>(); public void addTask(Task t) { children.add(t); } @@ -106,8 +106,8 @@ public class UnknownElementTest { } public void execute() { - for (Iterator i = children.iterator(); i.hasNext();) { - UnknownElement el = (UnknownElement) i.next(); + for (Task task : children) { + UnknownElement el = (UnknownElement) task; el.maybeConfigure(); Child child = (Child) el.getRealThing(); child.injectParent(this); diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java index d3bb33cc7..3581b1835 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/AntTest.java @@ -242,16 +242,16 @@ public class AntTest { buildRule.getProject().resolveFile("ant/test3.log"), buildRule.getProject().resolveFile("ant/test4.log") }; - for (int i=0; i files = new Hashtable<>(); + for (String scannedFile : scanner.getIncludedFiles()) { + files.put(scannedFile, scannedFile); } return files; } diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java index 7f9bdda15..7be54186d 100644 --- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java +++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/ssh/ScpTest.java @@ -66,7 +66,7 @@ public class ScpTest { private int port = Integer.parseInt(System.getProperty("scp.port", "22")); private String knownHosts = System.getProperty("scp.known.hosts"); - private List cleanUpList = new ArrayList(); + private List cleanUpList = new ArrayList<>(); @Before public void setUp() { @@ -79,8 +79,7 @@ public class ScpTest { @After public void tearDown() { - for (Iterator i = cleanUpList.iterator(); i.hasNext();) { - File file = (File) i.next(); + for (File file : cleanUpList) { file.delete(); } } @@ -113,7 +112,7 @@ public class ScpTest { @Test public void testMultiUploadAndDownload() throws IOException { assertNotNull("system property scp.tmp must be set", tempDir); - List uploadList = new ArrayList(); + List uploadList = new ArrayList<>(); for (int i = 0; i < 5; i++) { uploadList.add(createTemporaryFile()); } @@ -137,8 +136,7 @@ public class ScpTest { scpTask.execute(); FilesMatch match = new FilesMatch(); - for (Iterator i = uploadList.iterator(); i.hasNext();) { - File f = (File) i.next(); + for (File f : uploadList) { match.setFile1(f); File f2 = new File(multi, f.getName()); match.setFile2(f2); diff --git a/src/tests/junit/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java b/src/tests/junit/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java index ce86f06aa..e225f13a2 100644 --- a/src/tests/junit/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java +++ b/src/tests/junit/org/apache/tools/ant/types/optional/depend/ClassFileSetTest.java @@ -59,8 +59,8 @@ public class ClassFileSetTest { DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); String[] scannedFiles = scanner.getIncludedFiles(); Hashtable files = new Hashtable(); - for (int i = 0; i < scannedFiles.length; ++i) { - files.put(scannedFiles[i], scannedFiles[i]); + for (String scannedFile : scannedFiles) { + files.put(scannedFile, scannedFile); } assertEquals("Classfileset did not pick up expected number of " + "class files", 4, files.size()); @@ -85,8 +85,8 @@ public class ClassFileSetTest { DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); String[] scannedFiles = scanner.getIncludedFiles(); Hashtable files = new Hashtable(); - for (int i = 0; i < scannedFiles.length; ++i) { - files.put(scannedFiles[i], scannedFiles[i]); + for (String scannedFile : scannedFiles) { + files.put(scannedFile, scannedFile); } assertEquals("Classfileset did not pick up expected number of " + "class files", 2, files.size()); @@ -107,8 +107,8 @@ public class ClassFileSetTest { DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); String[] scannedFiles = scanner.getIncludedFiles(); Hashtable files = new Hashtable(); - for (int i = 0; i < scannedFiles.length; ++i) { - files.put(scannedFiles[i], scannedFiles[i]); + for (String scannedFile : scannedFiles) { + files.put(scannedFile, scannedFile); } assertEquals("Classfileset did not pick up expected number of " + "class files", 1, files.size()); @@ -135,8 +135,8 @@ public class ClassFileSetTest { DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); String[] scannedFiles = scanner.getIncludedFiles(); Hashtable files = new Hashtable(); - for (int i = 0; i < scannedFiles.length; ++i) { - files.put(scannedFiles[i], scannedFiles[i]); + for (String scannedFile : scannedFiles) { + files.put(scannedFile, scannedFile); } assertEquals("Classfileset did not pick up expected number of " + "class files", 5, files.size()); @@ -163,8 +163,8 @@ public class ClassFileSetTest { DirectoryScanner scanner = resultFileSet.getDirectoryScanner(p); String[] scannedFiles = scanner.getIncludedFiles(); Hashtable files = new Hashtable(); - for (int i = 0; i < scannedFiles.length; ++i) { - files.put(scannedFiles[i], scannedFiles[i]); + for (String scannedFile : scannedFiles) { + files.put(scannedFile, scannedFile); } assertEquals("Classfileset did not pick up expected number of " + "class files", 4, files.size());