Generics + foreach loops and Java 7 syntax in ant and tools packages

Project: http://git-wip-us.apache.org/repos/asf/ant-ivy/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant-ivy/commit/9235380f
Tree: http://git-wip-us.apache.org/repos/asf/ant-ivy/tree/9235380f
Diff: http://git-wip-us.apache.org/repos/asf/ant-ivy/diff/9235380f

Branch: refs/heads/master
Commit: 9235380f05e88de1a881950cb21a3d254585d5df
Parents: 041e956
Author: twogee <g.grigelio...@gmail.com>
Authored: Thu Jun 15 20:40:48 2017 +0200
Committer: Jaikiran Pai <jaiki...@apache.org>
Committed: Thu Jun 29 11:58:45 2017 +0530

----------------------------------------------------------------------
 .../org/apache/ivy/ant/AntBuildTrigger.java     | 15 ++---
 src/java/org/apache/ivy/ant/AntCallTrigger.java | 13 ++---
 .../apache/ivy/ant/AntWorkspaceResolver.java    | 25 ++++----
 src/java/org/apache/ivy/ant/FixDepsTask.java    |  4 +-
 src/java/org/apache/ivy/ant/IvyAntSettings.java | 16 ++---
 .../apache/ivy/ant/IvyAntVariableContainer.java | 18 +++---
 .../org/apache/ivy/ant/IvyArtifactProperty.java | 13 ++---
 .../org/apache/ivy/ant/IvyArtifactReport.java   | 59 ++++++++-----------
 src/java/org/apache/ivy/ant/IvyBuildList.java   | 61 +++++++++-----------
 .../org/apache/ivy/ant/IvyCacheFileset.java     | 11 ++--
 src/java/org/apache/ivy/ant/IvyCachePath.java   | 15 ++---
 src/java/org/apache/ivy/ant/IvyCacheTask.java   | 14 ++---
 src/java/org/apache/ivy/ant/IvyCheck.java       |  9 ++-
 src/java/org/apache/ivy/ant/IvyCleanCache.java  |  4 +-
 src/java/org/apache/ivy/ant/IvyConfigure.java   |  4 +-
 src/java/org/apache/ivy/ant/IvyDependency.java  |  8 +--
 .../org/apache/ivy/ant/IvyDependencyConf.java   | 12 ++--
 .../org/apache/ivy/ant/IvyDependencyTree.java   | 13 ++---
 .../ivy/ant/IvyDependencyUpdateChecker.java     | 59 ++++++-------------
 .../apache/ivy/ant/IvyExtractFromSources.java   | 37 +++++-------
 src/java/org/apache/ivy/ant/IvyInfo.java        | 49 +++++++---------
 src/java/org/apache/ivy/ant/IvyListModules.java |  6 +-
 src/java/org/apache/ivy/ant/IvyMakePom.java     | 15 +++--
 .../org/apache/ivy/ant/IvyPostResolveTask.java  | 32 +++++-----
 src/java/org/apache/ivy/ant/IvyPublish.java     |  6 +-
 src/java/org/apache/ivy/ant/IvyReport.java      | 21 +++----
 .../org/apache/ivy/ant/IvyRepositoryReport.java | 48 +++++++--------
 src/java/org/apache/ivy/ant/IvyResolve.java     |  6 +-
 src/java/org/apache/ivy/ant/IvyResources.java   | 14 ++---
 src/java/org/apache/ivy/ant/IvyRetrieve.java    |  4 +-
 src/java/org/apache/ivy/ant/IvyTask.java        | 18 +++---
 src/java/org/apache/ivy/ant/IvyVar.java         |  8 +--
 .../org/apache/ivy/core/event/IvyEvent.java     |  6 +-
 .../core/settings/IvyVariableContainerImpl.java | 12 ++--
 .../analyser/JarJarDependencyAnalyser.java      | 15 ++---
 .../ivy/tools/analyser/JarModuleFinder.java     | 28 ++++-----
 .../ivy/tools/analyser/RepositoryAnalyser.java  | 10 ++--
 37 files changed, 299 insertions(+), 409 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/AntBuildTrigger.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/AntBuildTrigger.java 
b/src/java/org/apache/ivy/ant/AntBuildTrigger.java
index 1950333..735fe23 100644
--- a/src/java/org/apache/ivy/ant/AntBuildTrigger.java
+++ b/src/java/org/apache/ivy/ant/AntBuildTrigger.java
@@ -20,7 +20,6 @@ package org.apache.ivy.ant;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.ivy.core.IvyContext;
@@ -62,7 +61,7 @@ public class AntBuildTrigger extends AbstractTrigger 
implements Trigger {
 
     private String target = null;
 
-    private Collection builds = new ArrayList();
+    private Collection<String> builds = new ArrayList<>();
 
     private String buildFilePattern;
 
@@ -91,14 +90,12 @@ public class AntBuildTrigger extends AbstractTrigger 
implements Trigger {
                 if (target != null) {
                     ant.setTarget(target);
                 }
-                Map atts = event.getAttributes();
-                for (Iterator iter = atts.keySet().iterator(); 
iter.hasNext();) {
-                    String key = (String) iter.next();
-                    String value = (String) atts.get(key);
-                    if (value != null) {
+                Map<String, String> atts = event.getAttributes();
+                for (Map.Entry<String, String> entry : atts.entrySet()) {
+                    if (entry.getValue() != null) {
                         Property p = ant.createProperty();
-                        p.setName(prefix == null ? key : prefix + key);
-                        p.setValue(value);
+                        p.setName(prefix == null ? entry.getKey() : prefix + 
entry.getKey());
+                        p.setValue(entry.getValue());
                     }
                 }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/AntCallTrigger.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/AntCallTrigger.java 
b/src/java/org/apache/ivy/ant/AntCallTrigger.java
index 0770dbd..9544e39 100644
--- a/src/java/org/apache/ivy/ant/AntCallTrigger.java
+++ b/src/java/org/apache/ivy/ant/AntCallTrigger.java
@@ -19,7 +19,6 @@ package org.apache.ivy.ant;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.ivy.core.IvyContext;
@@ -55,7 +54,7 @@ public class AntCallTrigger extends AbstractTrigger 
implements Trigger {
 
     private String target = null;
 
-    private Collection calls = new ArrayList();
+    private Collection<IvyEvent> calls = new ArrayList<>();
 
     private String prefix;
 
@@ -73,16 +72,14 @@ public class AntCallTrigger extends AbstractTrigger 
implements Trigger {
             call.setProject(project);
             call.setTaskName("antcall");
 
-            Map attributes = event.getAttributes();
+            Map<String, String> attributes = event.getAttributes();
             String target = IvyPatternHelper.substituteTokens(getTarget(), 
attributes);
             call.setTarget(target);
 
-            for (Iterator iter = attributes.keySet().iterator(); 
iter.hasNext();) {
-                String key = (String) iter.next();
-                String value = (String) attributes.get(key);
+            for (Map.Entry<String, String> entry : attributes.entrySet()) {
                 Property p = call.createParam();
-                p.setName(prefix == null ? key : prefix + key);
-                p.setValue(value == null ? "" : value);
+                p.setName(prefix == null ? entry.getKey() : prefix + 
entry.getKey());
+                p.setValue(entry.getValue() == null ? "" : entry.getValue());
             }
 
             Message.verbose("triggering ant call: target=" + target + " for " 
+ event);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java 
b/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java
index 14fd0b1..5166a7b 100644
--- a/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java
+++ b/src/java/org/apache/ivy/ant/AntWorkspaceResolver.java
@@ -25,7 +25,6 @@ import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -45,6 +44,7 @@ import 
org.apache.ivy.plugins.resolver.AbstractWorkspaceResolver;
 import org.apache.ivy.util.Message;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.types.DataType;
+import org.apache.tools.ant.types.Resource;
 import org.apache.tools.ant.types.ResourceCollection;
 import org.apache.tools.ant.types.resources.FileResource;
 
@@ -77,7 +77,7 @@ public class AntWorkspaceResolver extends DataType {
         }
     }
 
-    private List<ResourceCollection> allResources = new 
ArrayList<ResourceCollection>();
+    private List<ResourceCollection> allResources = new ArrayList<>();
 
     private boolean haltOnError = true;
 
@@ -85,7 +85,7 @@ public class AntWorkspaceResolver extends DataType {
 
     private String name;
 
-    private List<WorkspaceArtifact> artifacts = new 
ArrayList<WorkspaceArtifact>();
+    private List<WorkspaceArtifact> artifacts = new ArrayList<>();
 
     public void setName(String name) {
         this.name = name;
@@ -129,10 +129,10 @@ public class AntWorkspaceResolver extends DataType {
 
         private synchronized Map<ModuleDescriptor, File> 
getModuleDescriptors() {
             if (md2IvyFile == null) {
-                md2IvyFile = new HashMap<ModuleDescriptor, File>();
+                md2IvyFile = new HashMap<>();
                 for (ResourceCollection resources : allResources) {
-                    for (Iterator it = resources.iterator(); it.hasNext();) {
-                        File ivyFile = ((FileResource) it.next()).getFile();
+                    for (Resource resource : resources) {
+                        File ivyFile = ((FileResource) resource).getFile();
                         try {
                             ModuleDescriptor md = 
ModuleDescriptorParserRegistry.getInstance()
                                     .parseDescriptor(getParserSettings(), 
ivyFile.toURI().toURL(),
@@ -156,8 +156,7 @@ public class AntWorkspaceResolver extends DataType {
 
         public ResolvedModuleRevision getDependency(DependencyDescriptor dd, 
ResolveData data)
                 throws ParseException {
-            Map<ModuleDescriptor, File> mds = getModuleDescriptors();
-            for (Entry<ModuleDescriptor, File> md : mds.entrySet()) {
+            for (Entry<ModuleDescriptor, File> md : 
getModuleDescriptors().entrySet()) {
                 ResolvedModuleRevision rmr = checkCandidate(dd, md.getKey(),
                     getProjectName(md.getValue()));
                 if (rmr != null) {
@@ -169,7 +168,7 @@ public class AntWorkspaceResolver extends DataType {
 
         @Override
         protected List<Artifact> createWorkspaceArtifacts(ModuleDescriptor md) 
{
-            List<Artifact> res = new ArrayList<Artifact>();
+            List<Artifact> res = new ArrayList<>();
 
             for (WorkspaceArtifact wa : artifacts) {
                 String name = wa.name;
@@ -209,10 +208,10 @@ public class AntWorkspaceResolver extends DataType {
         public DownloadReport download(Artifact[] artifacts, DownloadOptions 
options) {
             // Not much to do here - downloads are not required for workspace 
projects.
             DownloadReport dr = new DownloadReport();
-            for (int i = 0; i < artifacts.length; i++) {
-                ArtifactDownloadReport adr = new 
ArtifactDownloadReport(artifacts[i]);
+            for (Artifact artifact : artifacts) {
+                ArtifactDownloadReport adr = new 
ArtifactDownloadReport(artifact);
                 dr.addArtifactReport(adr);
-                URL url = artifacts[i].getUrl();
+                URL url = artifact.getUrl();
                 if (url == null || !url.getProtocol().equals("file")) {
                     // this is not an artifact managed by this resolver
                     adr.setDownloadStatus(DownloadStatus.FAILED);
@@ -227,7 +226,7 @@ public class AntWorkspaceResolver extends DataType {
                 adr.setLocalFile(f);
                 adr.setDownloadStatus(DownloadStatus.NO);
                 adr.setSize(0);
-                Message.verbose("\t[IN WORKSPACE] " + artifacts[i]);
+                Message.verbose("\t[IN WORKSPACE] " + artifact);
             }
             return dr;
         }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/FixDepsTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/FixDepsTask.java 
b/src/java/org/apache/ivy/ant/FixDepsTask.java
index 8695cb8..63772ca 100644
--- a/src/java/org/apache/ivy/ant/FixDepsTask.java
+++ b/src/java/org/apache/ivy/ant/FixDepsTask.java
@@ -32,7 +32,7 @@ public class FixDepsTask extends IvyPostResolveTask {
 
     private File dest;
 
-    private List<Keep> keeps = new ArrayList<Keep>();
+    private List<Keep> keeps = new ArrayList<>();
 
     public void setToFile(File dest) {
         this.dest = dest;
@@ -73,7 +73,7 @@ public class FixDepsTask extends IvyPostResolveTask {
 
         ResolveReport report = getResolvedReport();
 
-        List<ModuleId> midToKeep = new ArrayList<ModuleId>();
+        List<ModuleId> midToKeep = new ArrayList<>();
         for (Keep keep : keeps) {
             midToKeep.add(ModuleId.newInstance(keep.org, keep.module));
         }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyAntSettings.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyAntSettings.java 
b/src/java/org/apache/ivy/ant/IvyAntSettings.java
index 9f169d6..6672b10 100644
--- a/src/java/org/apache/ivy/ant/IvyAntSettings.java
+++ b/src/java/org/apache/ivy/ant/IvyAntSettings.java
@@ -304,10 +304,7 @@ public class IvyAntSettings extends DataType {
             }
             ivyAntVariableContainer.updateProject(id);
             ivyEngine = ivy;
-        } catch (ParseException e) {
-            throw new BuildException("impossible to configure ivy:settings 
with given "
-                    + (file != null ? "file: " + file : "url: " + url) + " : " 
+ e, e);
-        } catch (IOException e) {
+        } catch (ParseException | IOException e) {
             throw new BuildException("impossible to configure ivy:settings 
with given "
                     + (file != null ? "file: " + file : "url: " + url) + " : " 
+ e, e);
         } finally {
@@ -354,15 +351,14 @@ public class IvyAntSettings extends DataType {
                 new File(getProject().getBaseDir(), settingsFileName),
                 new File(getProject().getBaseDir(), "ivyconf.xml"), new 
File(settingsFileName),
                 new File("ivyconf.xml")};
-        for (int i = 0; i < settingsLocations.length; i++) {
-            file = settingsLocations[i];
-            task.log("searching settings file: trying " + file, 
Project.MSG_VERBOSE);
-            if (file.exists()) {
+        for (File settingsFile : settingsLocations) {
+            task.log("searching settings file: trying " + settingsFile, 
Project.MSG_VERBOSE);
+            if (settingsFile.exists()) {
+                file = settingsFile;
                 break;
             }
         }
-        if (!file.exists()) {
-            file = null;
+        if (file == null) {
             if 
(Boolean.valueOf(getProject().getProperty("ivy.14.compatible"))) {
                 task.log("no settings file found, using Ivy 1.4 default...", 
Project.MSG_VERBOSE);
                 url = IvySettings.getDefault14SettingsURL();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java 
b/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java
index f9dc77f..e1c1d54 100644
--- a/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java
+++ b/src/java/org/apache/ivy/ant/IvyAntVariableContainer.java
@@ -18,7 +18,6 @@
 package org.apache.ivy.ant;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Map.Entry;
 
@@ -30,7 +29,7 @@ import org.apache.tools.ant.taskdefs.Property;
 
 class IvyAntVariableContainer extends IvyVariableContainerImpl implements 
IvyVariableContainer {
 
-    private Map overwrittenProperties = new HashMap();
+    private Map<String, String> overwrittenProperties = new HashMap<>();
 
     private Project project;
 
@@ -39,7 +38,7 @@ class IvyAntVariableContainer extends 
IvyVariableContainerImpl implements IvyVar
     }
 
     public String getVariable(String name) {
-        String r = (String) overwrittenProperties.get(name);
+        String r = overwrittenProperties.get(name);
         if (r == null) {
             r = project.getProperty(name);
         }
@@ -73,14 +72,12 @@ class IvyAntVariableContainer extends 
IvyVariableContainerImpl implements IvyVar
      *            be used as property names suffix
      */
     public void updateProject(String id) {
-        Map r = new HashMap(super.getVariables());
+        Map<String, String> r = new HashMap<>(super.getVariables());
         r.putAll(overwrittenProperties);
-        for (Iterator it = r.entrySet().iterator(); it.hasNext();) {
-            Entry entry = (Entry) it.next();
-
-            setPropertyIfNotSet((String) entry.getKey(), (String) 
entry.getValue());
+        for (Entry<String, String> entry : r.entrySet()) {
+            setPropertyIfNotSet(entry.getKey(), entry.getValue());
             if (id != null) {
-                setPropertyIfNotSet((String) entry.getKey() + "." + id, 
(String) entry.getValue());
+                setPropertyIfNotSet(entry.getKey() + "." + id, 
entry.getValue());
             }
         }
 
@@ -102,7 +99,8 @@ class IvyAntVariableContainer extends 
IvyVariableContainerImpl implements IvyVar
     @SuppressWarnings("unchecked")
     public Object clone() {
         IvyAntVariableContainer result = (IvyAntVariableContainer) 
super.clone();
-        result.overwrittenProperties = (HashMap) ((HashMap) 
this.overwrittenProperties).clone();
+        result.overwrittenProperties = (HashMap<String, String>) 
((HashMap<String, String>) this.overwrittenProperties)
+                .clone();
         return result;
     }
 }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyArtifactProperty.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyArtifactProperty.java 
b/src/java/org/apache/ivy/ant/IvyArtifactProperty.java
index 5c598f9..5308158 100644
--- a/src/java/org/apache/ivy/ant/IvyArtifactProperty.java
+++ b/src/java/org/apache/ivy/ant/IvyArtifactProperty.java
@@ -62,23 +62,20 @@ public class IvyArtifactProperty extends IvyPostResolveTask 
{
 
         try {
             ResolutionCacheManager cacheMgr = 
getIvyInstance().getResolutionCacheManager();
-            String[] confs = splitConfs(getConf());
             String resolveId = getResolveId();
             if (resolveId == null) {
                 resolveId = 
ResolveOptions.getDefaultResolveId(getResolvedModuleId());
             }
             XmlReportParser parser = new XmlReportParser();
-            for (int i = 0; i < confs.length; i++) {
-                File report = 
cacheMgr.getConfigurationResolveReportInCache(resolveId, confs[i]);
+            for (String conf : splitConfs(getConf())) {
+                File report = 
cacheMgr.getConfigurationResolveReportInCache(resolveId, conf);
                 parser.parse(report);
 
-                Artifact[] artifacts = parser.getArtifacts();
-                for (int j = 0; j < artifacts.length; j++) {
-                    Artifact artifact = artifacts[j];
+                for (Artifact artifact : parser.getArtifacts()) {
                     String name = 
IvyPatternHelper.substitute(getSettings().substitute(getName()),
-                        artifact, confs[i]);
+                            artifact, conf);
                     String value = IvyPatternHelper.substitute(
-                        getSettings().substitute(getValue()), artifact, 
confs[i]);
+                            getSettings().substitute(getValue()), artifact, 
conf);
                     setProperty(name, value);
                 }
             }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyArtifactReport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyArtifactReport.java 
b/src/java/org/apache/ivy/ant/IvyArtifactReport.java
index cc55d43..aff8c4c 100644
--- a/src/java/org/apache/ivy/ant/IvyArtifactReport.java
+++ b/src/java/org/apache/ivy/ant/IvyArtifactReport.java
@@ -23,7 +23,6 @@ import java.io.IOException;
 import java.text.ParseException;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
@@ -86,28 +85,26 @@ public class IvyArtifactReport extends IvyPostResolveTask {
             String[] confs = splitConfs(getConf());
             ModuleDescriptor md = null;
             if (getResolveId() != null) {
-                md = (ModuleDescriptor) getResolvedDescriptor(getResolveId());
+                md = getResolvedDescriptor(getResolveId());
             } else {
-                md = (ModuleDescriptor) 
getResolvedDescriptor(getOrganisation(), getModule(), false);
+                md = getResolvedDescriptor(getOrganisation(), getModule(), 
false);
             }
-            IvyNode[] dependencies = 
getIvyInstance().getResolveEngine().getDependencies(
-                md,
+            IvyNode[] dependencies = 
getIvyInstance().getResolveEngine().getDependencies(md,
                 ((ResolveOptions) new 
ResolveOptions().setLog(getLog())).setConfs(confs)
                         
.setResolveId(getResolveId()).setValidate(doValidate(getSettings())), null);
 
-            Map artifactsToCopy = 
getIvyInstance().getRetrieveEngine().determineArtifactsToCopy(
-                ModuleRevisionId.newInstance(getOrganisation(), getModule(), 
getRevision()),
-                pattern,
-                ((RetrieveOptions) new 
RetrieveOptions().setLog(getLog())).setConfs(confs)
-                        .setResolveId(getResolveId()));
+            Map<ArtifactDownloadReport, Set<String>> artifactsToCopy = 
getIvyInstance().getRetrieveEngine()
+                    
.determineArtifactsToCopy(ModuleRevisionId.newInstance(getOrganisation(),
+                            getModule(), getRevision()), pattern,
+                            ((RetrieveOptions) new 
RetrieveOptions().setLog(getLog()))
+                                    
.setConfs(confs).setResolveId(getResolveId()));
 
-            Map moduleRevToArtifactsMap = new HashMap();
-            for (Iterator iter = artifactsToCopy.keySet().iterator(); 
iter.hasNext();) {
-                ArtifactDownloadReport artifact = (ArtifactDownloadReport) 
iter.next();
-                Set moduleRevArtifacts = (Set) 
moduleRevToArtifactsMap.get(artifact.getArtifact()
+            Map<ModuleRevisionId, Set<ArtifactDownloadReport>> 
moduleRevToArtifactsMap = new HashMap<>();
+            for (ArtifactDownloadReport artifact : artifactsToCopy.keySet()) {
+                Set<ArtifactDownloadReport> moduleRevArtifacts = 
moduleRevToArtifactsMap.get(artifact.getArtifact()
                         .getModuleRevisionId());
                 if (moduleRevArtifacts == null) {
-                    moduleRevArtifacts = new HashSet();
+                    moduleRevArtifacts = new HashSet<>();
                     
moduleRevToArtifactsMap.put(artifact.getArtifact().getModuleRevisionId(),
                         moduleRevArtifacts);
                 }
@@ -123,29 +120,28 @@ public class IvyArtifactReport extends IvyPostResolveTask 
{
         }
     }
 
-    private void generateXml(IvyNode[] dependencies, Map 
moduleRevToArtifactsMap,
-            Map artifactsToCopy) {
+    private void generateXml(IvyNode[] dependencies,
+                             Map<ModuleRevisionId, 
Set<ArtifactDownloadReport>> moduleRevToArtifactsMap,
+                             Map<ArtifactDownloadReport, Set<String>> 
artifactsToCopy) {
         try {
-            FileOutputStream fileOutputStream = new FileOutputStream(tofile);
-            try {
+            try (FileOutputStream fileOutputStream = new 
FileOutputStream(tofile)) {
                 TransformerHandler saxHandler = 
createTransformerHandler(fileOutputStream);
 
                 saxHandler.startDocument();
                 saxHandler.startElement(null, "modules", "modules", new 
AttributesImpl());
 
-                for (int i = 0; i < dependencies.length; i++) {
-                    IvyNode dependency = dependencies[i];
-                    if (dependency.getModuleRevision() == null || 
dependency.isCompletelyEvicted()) {
+                for (IvyNode dependency : dependencies) {
+                    if (dependency.getModuleRevision() == null
+                            || dependency.isCompletelyEvicted()) {
                         continue;
                     }
 
                     startModule(saxHandler, dependency);
 
-                    Set artifactsOfModuleRev = (Set) 
moduleRevToArtifactsMap.get(dependency
+                    Set<ArtifactDownloadReport> artifactsOfModuleRev = 
moduleRevToArtifactsMap.get(dependency
                             .getModuleRevision().getId());
                     if (artifactsOfModuleRev != null) {
-                        for (Iterator iter = artifactsOfModuleRev.iterator(); 
iter.hasNext();) {
-                            ArtifactDownloadReport artifact = 
(ArtifactDownloadReport) iter.next();
+                        for (ArtifactDownloadReport artifact : 
artifactsOfModuleRev) {
 
                             RepositoryCacheManager cache = 
dependency.getModuleRevision()
                                     
.getArtifactResolver().getRepositoryCacheManager();
@@ -155,10 +151,7 @@ public class IvyArtifactReport extends IvyPostResolveTask {
                             writeOriginLocationIfPresent(cache, saxHandler, 
artifact);
                             writeCacheLocationIfPresent(cache, saxHandler, 
artifact);
 
-                            Set artifactDestPaths = (Set) 
artifactsToCopy.get(artifact);
-                            for (Iterator iterator = 
artifactDestPaths.iterator(); iterator
-                                    .hasNext();) {
-                                String artifactDestPath = (String) 
iterator.next();
+                            for (String artifactDestPath : 
artifactsToCopy.get(artifact)) {
                                 writeRetrieveLocation(saxHandler, 
artifactDestPath);
                             }
                             saxHandler.endElement(null, "artifact", 
"artifact");
@@ -168,14 +161,8 @@ public class IvyArtifactReport extends IvyPostResolveTask {
                 }
                 saxHandler.endElement(null, "modules", "modules");
                 saxHandler.endDocument();
-            } finally {
-                fileOutputStream.close();
             }
-        } catch (SAXException e) {
-            throw new BuildException("impossible to generate report", e);
-        } catch (TransformerConfigurationException e) {
-            throw new BuildException("impossible to generate report", e);
-        } catch (IOException e) {
+        } catch (SAXException | IOException | 
TransformerConfigurationException e) {
             throw new BuildException("impossible to generate report", e);
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyBuildList.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyBuildList.java 
b/src/java/org/apache/ivy/ant/IvyBuildList.java
index bdc9ab9..b0cbf98 100644
--- a/src/java/org/apache/ivy/ant/IvyBuildList.java
+++ b/src/java/org/apache/ivy/ant/IvyBuildList.java
@@ -65,7 +65,7 @@ public class IvyBuildList extends IvyTask {
 
     public static final String DESCRIPTOR_REQUIRED = "required";
 
-    private List<FileSet> buildFileSets = new ArrayList<FileSet>();
+    private List<FileSet> buildFileSets = new ArrayList<>();
 
     private String reference;
 
@@ -168,12 +168,12 @@ public class IvyBuildList extends IvyTask {
 
         Path path = new Path(getProject());
 
-        Map<ModuleDescriptor, File> buildFiles = new HashMap<ModuleDescriptor, 
File>();
-        List<File> independent = new ArrayList<File>();
-        List<File> noDescriptor = new ArrayList<File>();
-        Collection<ModuleDescriptor> mds = new ArrayList<ModuleDescriptor>();
+        Map<ModuleDescriptor, File> buildFiles = new HashMap<>();
+        List<File> independent = new ArrayList<>();
+        List<File> noDescriptor = new ArrayList<>();
+        Collection<ModuleDescriptor> mds = new ArrayList<>();
 
-        Set<String> rootModuleNames = new LinkedHashSet<String>();
+        Set<String> rootModuleNames = new LinkedHashSet<>();
         if (!"*".equals(root)) {
             StringTokenizer st = new StringTokenizer(root, delimiter);
             while (st.hasMoreTokens()) {
@@ -181,7 +181,7 @@ public class IvyBuildList extends IvyTask {
             }
         }
 
-        Set<String> leafModuleNames = new LinkedHashSet<String>();
+        Set<String> leafModuleNames = new LinkedHashSet<>();
         if (!"*".equals(leaf)) {
             StringTokenizer st = new StringTokenizer(leaf, delimiter);
             while (st.hasMoreTokens()) {
@@ -189,7 +189,7 @@ public class IvyBuildList extends IvyTask {
             }
         }
 
-        Set<String> restartFromModuleNames = new LinkedHashSet<String>();
+        Set<String> restartFromModuleNames = new LinkedHashSet<>();
         if (!"*".equals(restartFrom)) {
             StringTokenizer st = new StringTokenizer(restartFrom, delimiter);
             // Only accept one (first) module
@@ -198,9 +198,8 @@ public class IvyBuildList extends IvyTask {
 
         for (FileSet fs : buildFileSets) {
             DirectoryScanner ds = fs.getDirectoryScanner(getProject());
-            String[] builds = ds.getIncludedFiles();
-            for (int i = 0; i < builds.length; i++) {
-                File buildFile = new File(ds.getBasedir(), builds[i]);
+            for (String build : ds.getIncludedFiles()) {
+                File buildFile = new File(ds.getBasedir(), build);
                 File ivyFile = getIvyFileFor(buildFile);
                 if (!ivyFile.exists()) {
                     onMissingDescriptor(buildFile, ivyFile, noDescriptor);
@@ -261,7 +260,7 @@ public class IvyBuildList extends IvyTask {
         // so they are not removed from build path.
         if (!restartFromModuleDescriptors.isEmpty()) {
             boolean foundRestartFrom = false;
-            List<ModuleDescriptor> keptModules = new 
ArrayList<ModuleDescriptor>();
+            List<ModuleDescriptor> keptModules = new ArrayList<>();
             ModuleDescriptor restartFromModuleDescriptor = 
restartFromModuleDescriptors.get(0);
             for (ModuleDescriptor md : sortedModules) {
                 if (md.equals(restartFromModuleDescriptor)) {
@@ -273,7 +272,7 @@ public class IvyBuildList extends IvyTask {
             }
             sortedModules = keptModules;
         }
-        StringBuffer order = new StringBuffer();
+        StringBuilder order = new StringBuilder();
         for (ListIterator<ModuleDescriptor> iter = 
sortedModules.listIterator(); iter.hasNext();) {
             ModuleDescriptor md = iter.next();
             order.append(md.getModuleRevisionId().getModuleId());
@@ -305,13 +304,8 @@ public class IvyBuildList extends IvyTask {
                 Message.warn("a module has no module descriptor. " + "Build 
file: " + buildFile
                         + ". Expected descriptor: " + ivyFile);
             }
-            Message.verbose("no descriptor for "
-                    + buildFile
-                    + ": descriptor="
-                    + ivyFile
-                    + ": adding it at the "
-                    + (OnMissingDescriptor.TAIL.equals(onMissingDescriptor) ? 
"tail" : "head"
-                            + " of the path"));
+            Message.verbose(String.format("no descriptor for %s: 
descriptor=%s: adding it at the %s of the path",
+                    buildFile, ivyFile, 
(OnMissingDescriptor.TAIL.equals(onMissingDescriptor) ? "tail" : "head")));
             Message.verbose("\t(change onMissingDescriptor if you want to take 
another action");
             noDescriptor.add(buildFile);
         }
@@ -319,8 +313,8 @@ public class IvyBuildList extends IvyTask {
 
     private List<ModuleDescriptor> convertModuleNamesToModuleDescriptors(
             Collection<ModuleDescriptor> mds, Set<String> moduleNames, String 
kind) {
-        List<ModuleDescriptor> result = new ArrayList<ModuleDescriptor>();
-        Set<String> foundModuleNames = new HashSet<String>();
+        List<ModuleDescriptor> result = new ArrayList<>();
+        Set<String> foundModuleNames = new HashSet<>();
 
         for (ModuleDescriptor md : mds) {
             String name = md.getModuleRevisionId().getModuleId().getName();
@@ -331,10 +325,10 @@ public class IvyBuildList extends IvyTask {
         }
 
         if (foundModuleNames.size() < moduleNames.size()) {
-            Set<String> missingModules = new HashSet<String>(moduleNames);
+            Set<String> missingModules = new HashSet<>(moduleNames);
             missingModules.removeAll(foundModuleNames);
 
-            StringBuffer missingNames = new StringBuffer();
+            StringBuilder missingNames = new StringBuilder();
             String sep = "";
             for (String name : missingModules) {
                 missingNames.append(sep);
@@ -361,13 +355,13 @@ public class IvyBuildList extends IvyTask {
      */
     private Collection<ModuleDescriptor> 
filterModulesFromRoot(Collection<ModuleDescriptor> mds,
             List<ModuleDescriptor> rootmds) {
-        Map<ModuleId, ModuleDescriptor> moduleIdMap = new HashMap<ModuleId, 
ModuleDescriptor>();
+        Map<ModuleId, ModuleDescriptor> moduleIdMap = new HashMap<>();
         for (ModuleDescriptor md : mds) {
             moduleIdMap.put(md.getModuleRevisionId().getModuleId(), md);
         }
 
         // recursively process the nodes
-        Set<ModuleDescriptor> toKeep = new LinkedHashSet<ModuleDescriptor>();
+        Set<ModuleDescriptor> toKeep = new LinkedHashSet<>();
 
         for (ModuleDescriptor rootmd : rootmds) {
             processFilterNodeFromRoot(rootmd, toKeep, moduleIdMap);
@@ -404,10 +398,8 @@ public class IvyBuildList extends IvyTask {
     private void processFilterNodeFromRoot(ModuleDescriptor node, 
Set<ModuleDescriptor> toKeep,
             Map<ModuleId, ModuleDescriptor> moduleIdMap) {
         // toKeep.add(node);
-
-        DependencyDescriptor[] deps = node.getDependencies();
-        for (int i = 0; i < deps.length; i++) {
-            ModuleId id = deps[i].getDependencyId();
+        for (DependencyDescriptor dep : node.getDependencies()) {
+            ModuleId id = dep.getDependencyId();
             ModuleDescriptor md = moduleIdMap.get(id);
             // we test if this module id has a module descriptor, and if it 
isn't already in the
             // toKeep Set, in which there's probably a circular dependency
@@ -432,13 +424,13 @@ public class IvyBuildList extends IvyTask {
      */
     private Collection<ModuleDescriptor> 
filterModulesFromLeaf(Collection<ModuleDescriptor> mds,
             List<ModuleDescriptor> leafmds) {
-        Map<ModuleId, ModuleDescriptor> moduleIdMap = new HashMap<ModuleId, 
ModuleDescriptor>();
+        Map<ModuleId, ModuleDescriptor> moduleIdMap = new HashMap<>();
         for (ModuleDescriptor md : mds) {
             moduleIdMap.put(md.getModuleRevisionId().getModuleId(), md);
         }
 
         // recursively process the nodes
-        Set<ModuleDescriptor> toKeep = new LinkedHashSet<ModuleDescriptor>();
+        Set<ModuleDescriptor> toKeep = new LinkedHashSet<>();
         for (ModuleDescriptor leafmd : leafmds) {
             // With the excludeleaf attribute set to true, take the rootmd out 
of the toKeep set.
             if (excludeLeaf) {
@@ -472,9 +464,8 @@ public class IvyBuildList extends IvyTask {
     private void processFilterNodeFromLeaf(ModuleDescriptor node, 
Set<ModuleDescriptor> toKeep,
             Map<ModuleId, ModuleDescriptor> moduleIdMap) {
         for (ModuleDescriptor md : moduleIdMap.values()) {
-            DependencyDescriptor[] deps = md.getDependencies();
-            for (int i = 0; i < deps.length; i++) {
-                ModuleId id = deps[i].getDependencyId();
+            for (DependencyDescriptor dep : md.getDependencies()) {
+                ModuleId id = dep.getDependencyId();
                 if (node.getModuleRevisionId().getModuleId().equals(id) && 
!toKeep.contains(md)) {
                     toKeep.add(md);
                     if (!getOnlydirectdep()) {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCacheFileset.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCacheFileset.java 
b/src/java/org/apache/ivy/ant/IvyCacheFileset.java
index fb526ad..56bcc6d 100644
--- a/src/java/org/apache/ivy/ant/IvyCacheFileset.java
+++ b/src/java/org/apache/ivy/ant/IvyCacheFileset.java
@@ -29,6 +29,7 @@ import org.apache.tools.ant.DirectoryScanner;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.FileSet;
 import org.apache.tools.ant.types.PatternSet.NameEntry;
+import org.apache.tools.ant.types.Resource;
 
 /**
  * Creates an ant fileset consisting in all artifacts found during a resolve. 
Note that this task is
@@ -94,7 +95,7 @@ public class IvyCacheFileset extends IvyCacheTask {
      *
      * @param artifactDownloadReports The artifact download reports for which 
the common base directory of the artifacts
      *                                has to be determined
-     * @return
+     * @return File
      */
     File requireCommonBaseDir(final List<ArtifactDownloadReport> 
artifactDownloadReports) {
         File base = null;
@@ -196,8 +197,8 @@ public class IvyCacheFileset extends IvyCacheTask {
 
         private DirectoryScanner ds = new EmptyDirectoryScanner();
 
-        public Iterator iterator() {
-            return new EmptyIterator();
+        public Iterator<Resource> iterator() {
+            return new EmptyIterator<>();
         }
 
         public Object clone() {
@@ -213,13 +214,13 @@ public class IvyCacheFileset extends IvyCacheTask {
         }
     }
 
-    private static class EmptyIterator implements Iterator {
+    private static class EmptyIterator<T> implements Iterator<T> {
 
         public boolean hasNext() {
             return false;
         }
 
-        public Object next() {
+        public T next() {
             throw new NoSuchElementException("EmptyFileSet Iterator");
         }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCachePath.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCachePath.java 
b/src/java/org/apache/ivy/ant/IvyCachePath.java
index d4b7843..1a7b6eb 100644
--- a/src/java/org/apache/ivy/ant/IvyCachePath.java
+++ b/src/java/org/apache/ivy/ant/IvyCachePath.java
@@ -18,7 +18,6 @@
 package org.apache.ivy.ant;
 
 import java.io.File;
-import java.util.Iterator;
 import java.util.List;
 
 import org.apache.ivy.core.report.ArtifactDownloadReport;
@@ -73,11 +72,10 @@ public class IvyCachePath extends IvyCacheTask {
         try {
             Path path = new Path(getProject());
             getProject().addReference(pathid, path);
-            for (Iterator iter = getArtifactReports().iterator(); 
iter.hasNext();) {
-                ArtifactDownloadReport a = (ArtifactDownloadReport) 
iter.next();
-                File f = a.getLocalFile();
-                if (a.getUnpackedLocalFile() != null) {
-                    f = a.getUnpackedLocalFile();
+            for (ArtifactDownloadReport adr : getArtifactReports()) {
+                File f = adr.getLocalFile();
+                if (adr.getUnpackedLocalFile() != null) {
+                    f = adr.getUnpackedLocalFile();
                 }
                 addToPath(path, f);
             }
@@ -98,13 +96,12 @@ public class IvyCachePath extends IvyCacheTask {
             return;
         }
         BundleInfo bundleInfo = ManifestParser.parseManifest(manifest);
-        List/* <String> */cp = bundleInfo.getClasspath();
+        List<String> cp = bundleInfo.getClasspath();
         if (cp == null) {
             path.createPathElement().setLocation(f);
             return;
         }
-        for (int i = 0; i < cp.size(); i++) {
-            String p = (String) cp.get(i);
+        for (String p : cp) {
             if (p.equals(".")) {
                 path.createPathElement().setLocation(f);
             } else {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCacheTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCacheTask.java 
b/src/java/org/apache/ivy/ant/IvyCacheTask.java
index e8de729..72c14a7 100644
--- a/src/java/org/apache/ivy/ant/IvyCacheTask.java
+++ b/src/java/org/apache/ivy/ant/IvyCacheTask.java
@@ -46,7 +46,7 @@ public abstract class IvyCacheTask extends IvyPostResolveTask 
{
     protected List<ArtifactDownloadReport> getArtifactReports() throws 
BuildException,
             ParseException, IOException {
         Collection<ArtifactDownloadReport> artifacts = getAllArtifactReports();
-        List<ArtifactDownloadReport> ret = new 
ArrayList<ArtifactDownloadReport>();
+        List<ArtifactDownloadReport> ret = new ArrayList<>();
         for (ArtifactDownloadReport artifactReport : artifacts) {
             if (getArtifactFilter().accept(artifactReport.getArtifact())) {
                 ret.add(artifactReport);
@@ -59,16 +59,16 @@ public abstract class IvyCacheTask extends 
IvyPostResolveTask {
     private Collection<ArtifactDownloadReport> getAllArtifactReports() throws 
ParseException,
             IOException {
         String[] confs = splitConfs(getConf());
-        Collection<ArtifactDownloadReport> all = new 
LinkedHashSet<ArtifactDownloadReport>();
+        Collection<ArtifactDownloadReport> all = new LinkedHashSet<>();
 
         ResolveReport report = getResolvedReport();
         if (report != null) {
             Message.debug("using internal report instance to get artifacts 
list");
-            for (int i = 0; i < confs.length; i++) {
+            for (String conf : confs) {
                 ConfigurationResolveReport configurationReport = report
-                        .getConfigurationReport(confs[i]);
+                        .getConfigurationReport(conf);
                 if (configurationReport == null) {
-                    throw new BuildException("bad confs provided: " + confs[i]
+                    throw new BuildException("bad confs provided: " + conf
                             + " not found among " + 
Arrays.asList(report.getConfigurations()));
                 }
                 Set<ModuleRevisionId> revisions = 
configurationReport.getModuleRevisionIds();
@@ -87,9 +87,9 @@ public abstract class IvyCacheTask extends IvyPostResolveTask 
{
             if (resolvedId == null) {
                 resolvedId = 
ResolveOptions.getDefaultResolveId(getResolvedModuleId());
             }
-            for (int i = 0; i < confs.length; i++) {
+            for (String conf : confs) {
                 File reportFile = 
cacheMgr.getConfigurationResolveReportInCache(resolvedId,
-                    confs[i]);
+                        conf);
                 parser.parse(reportFile);
 
                 ArtifactDownloadReport[] aReports = 
parser.getArtifactReports();

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCheck.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCheck.java 
b/src/java/org/apache/ivy/ant/IvyCheck.java
index dda9c7f..50a353e 100644
--- a/src/java/org/apache/ivy/ant/IvyCheck.java
+++ b/src/java/org/apache/ivy/ant/IvyCheck.java
@@ -38,7 +38,7 @@ import org.apache.tools.ant.types.FileSet;
 public class IvyCheck extends IvyTask {
     private File file = null;
 
-    private List filesets = new ArrayList();
+    private final List<FileSet> filesets = new ArrayList<>();
 
     private String resolvername;
 
@@ -76,15 +76,14 @@ public class IvyCheck extends IvyTask {
                     Message.verbose("checked " + file + ": OK");
                 }
             }
-            for (int i = 0; i < filesets.size(); i++) {
-                FileSet fs = (FileSet) filesets.get(i);
+            for (FileSet fs : filesets) {
                 DirectoryScanner ds = fs.getDirectoryScanner(getProject());
 
                 File fromDir = fs.getDir(getProject());
 
                 String[] srcFiles = ds.getIncludedFiles();
-                for (int j = 0; j < srcFiles.length; j++) {
-                    File file = new File(fromDir, srcFiles[j]);
+                for (String srcFile : srcFiles) {
+                    File file = new File(fromDir, srcFile);
                     if (ivy.check(file.toURI().toURL(), resolvername)) {
                         Message.verbose("checked " + file + ": OK");
                     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyCleanCache.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyCleanCache.java 
b/src/java/org/apache/ivy/ant/IvyCleanCache.java
index c4b0c07..6e1612f 100644
--- a/src/java/org/apache/ivy/ant/IvyCleanCache.java
+++ b/src/java/org/apache/ivy/ant/IvyCleanCache.java
@@ -70,8 +70,8 @@ public class IvyCleanCache extends IvyTask {
         }
         if (ALL.equals(getCache())) {
             RepositoryCacheManager[] caches = 
settings.getRepositoryCacheManagers();
-            for (int i = 0; i < caches.length; i++) {
-                caches[i].clean();
+            for (RepositoryCacheManager cache : caches) {
+                cache.clean();
             }
         } else if (!NONE.equals(getCache())) {
             RepositoryCacheManager cache = 
settings.getRepositoryCacheManager(getCache());

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyConfigure.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyConfigure.java 
b/src/java/org/apache/ivy/ant/IvyConfigure.java
index 6926d02..f41cb5c 100644
--- a/src/java/org/apache/ivy/ant/IvyConfigure.java
+++ b/src/java/org/apache/ivy/ant/IvyConfigure.java
@@ -48,8 +48,8 @@ public class IvyConfigure extends Task {
      */
     public static final String OVERRIDE_NOT_ALLOWED = "notallowed";
 
-    private static final Collection OVERRIDE_VALUES = Arrays.asList(new 
String[] {OVERRIDE_TRUE,
-            OVERRIDE_FALSE, OVERRIDE_NOT_ALLOWED});
+    private static final Collection OVERRIDE_VALUES = 
Arrays.asList(OVERRIDE_TRUE,
+            OVERRIDE_FALSE, OVERRIDE_NOT_ALLOWED);
 
     private String override = OVERRIDE_NOT_ALLOWED;
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyDependency.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyDependency.java 
b/src/java/org/apache/ivy/ant/IvyDependency.java
index 051a55a..3682dc1 100644
--- a/src/java/org/apache/ivy/ant/IvyDependency.java
+++ b/src/java/org/apache/ivy/ant/IvyDependency.java
@@ -31,13 +31,13 @@ import org.apache.tools.ant.BuildException;
 
 public class IvyDependency {
 
-    private List<IvyDependencyConf> confs = new ArrayList<IvyDependencyConf>();
+    private List<IvyDependencyConf> confs = new ArrayList<>();
 
-    private List<IvyDependencyArtifact> artifacts = new 
ArrayList<IvyDependencyArtifact>();
+    private List<IvyDependencyArtifact> artifacts = new ArrayList<>();
 
-    private List<IvyDependencyExclude> excludes = new 
ArrayList<IvyDependencyExclude>();
+    private List<IvyDependencyExclude> excludes = new ArrayList<>();
 
-    private List<IvyDependencyInclude> includes = new 
ArrayList<IvyDependencyInclude>();
+    private List<IvyDependencyInclude> includes = new ArrayList<>();
 
     private String org;
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyDependencyConf.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyDependencyConf.java 
b/src/java/org/apache/ivy/ant/IvyDependencyConf.java
index c42c956..f197b6b 100644
--- a/src/java/org/apache/ivy/ant/IvyDependencyConf.java
+++ b/src/java/org/apache/ivy/ant/IvyDependencyConf.java
@@ -18,14 +18,13 @@
 package org.apache.ivy.ant;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor;
 
 public class IvyDependencyConf {
 
-    private List/* <IvyDependencyConfMapped> */mappeds = new ArrayList();
+    private final List<IvyDependencyConfMapped> mappeds = new ArrayList<>();
 
     public static class IvyDependencyConfMapped {
         private String name;
@@ -50,14 +49,11 @@ public class IvyDependencyConf {
 
     void addConf(DefaultDependencyDescriptor dd, String masterConf) {
         if (mapped != null) {
-            String[] mappeds = mapped.split(",");
-            for (int i = 0; i < mappeds.length; i++) {
-                dd.addDependencyConfiguration(masterConf, mappeds[i].trim());
+            for (String map : mapped.split(",")) {
+                dd.addDependencyConfiguration(masterConf, map.trim());
             }
         }
-        Iterator itMappeds = mappeds.iterator();
-        while (itMappeds.hasNext()) {
-            IvyDependencyConfMapped m = (IvyDependencyConfMapped) 
itMappeds.next();
+        for (IvyDependencyConfMapped m : mappeds) {
             dd.addDependencyConfiguration(masterConf, m.name);
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyDependencyTree.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyDependencyTree.java 
b/src/java/org/apache/ivy/ant/IvyDependencyTree.java
index e2e5978..7c30f25 100644
--- a/src/java/org/apache/ivy/ant/IvyDependencyTree.java
+++ b/src/java/org/apache/ivy/ant/IvyDependencyTree.java
@@ -20,7 +20,6 @@ package org.apache.ivy.ant;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -58,21 +57,21 @@ public class IvyDependencyTree extends IvyPostResolveTask {
 
     private void printDependencies(final ModuleRevisionId mrid, final 
List<IvyNode> dependencyList, final int indent,
                                    final Set<ModuleRevisionId> ancestors) {
-        for (final Iterator iterator = dependencyList.iterator(); 
iterator.hasNext();) {
+        for (IvyNode dependency : dependencyList) {
             final Set<ModuleRevisionId> ancestorsForCurrentDep = new 
HashSet<>(ancestors);
             // previous ancestors plus the module to whom these dependencies 
belong to
             ancestorsForCurrentDep.add(mrid);
-            final IvyNode dependency = (IvyNode) iterator.next();
             final boolean evicted = dependency.isEvicted(getConf());
             if (evicted && !showEvicted) {
                 continue;
             }
+            final boolean isLastDependency = 
dependencyList.indexOf(dependency) == dependencyList.size() - 1;
             final StringBuilder sb = new StringBuilder();
             final ModuleRevisionId dependencyMrid = dependency.getId();
             final boolean circular = 
ancestorsForCurrentDep.contains(dependencyMrid);
             if (indent > 0) {
                 for (int i = 0; i < indent; i++) {
-                    if (i == indent - 1 && !iterator.hasNext() && 
!hasDependencies(dependency)) {
+                    if (i == indent - 1 && isLastDependency && 
!hasDependencies(dependency)) {
                         sb.append("   ");
                     } else {
                         sb.append("|  ");
@@ -80,11 +79,7 @@ public class IvyDependencyTree extends IvyPostResolveTask {
 
                 }
             }
-            if (iterator.hasNext()) {
-                sb.append("+- ");
-            } else {
-                sb.append("\\- ");
-            }
+            sb.append(isLastDependency ? "\\- " : "+- ");
             if (!evicted && circular) {
                 // log and skip processing the (transitive) dependencies of 
this dependency
                 sb.append("(circularly depends on) ").append(dependencyMrid);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java 
b/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java
index 83dd5ef..1eb628d 100644
--- a/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java
+++ b/src/java/org/apache/ivy/ant/IvyDependencyUpdateChecker.java
@@ -20,7 +20,6 @@ package org.apache.ivy.ant;
 import java.io.IOException;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import org.apache.ivy.core.module.descriptor.Configuration;
@@ -82,9 +81,7 @@ public class IvyDependencyUpdateChecker extends 
IvyPostResolveTask {
                 displayMissingDependencyOnLatest(getResolvedReport(), 
latestReport);
             }
 
-        } catch (ParseException e) {
-            throw new BuildException("impossible to resolve dependencies:\n\t" 
+ e, e);
-        } catch (IOException e) {
+        } catch (ParseException | IOException e) {
             throw new BuildException("impossible to resolve dependencies:\n\t" 
+ e, e);
         }
 
@@ -93,11 +90,8 @@ public class IvyDependencyUpdateChecker extends 
IvyPostResolveTask {
     private void displayDependencyUpdates(ResolveReport originalReport, 
ResolveReport latestReport) {
         log("Dependencies updates available :");
         boolean dependencyUpdateDetected = false;
-        for (Iterator iterator = latestReport.getDependencies().iterator(); 
iterator.hasNext();) {
-            IvyNode latest = (IvyNode) iterator.next();
-            for (Iterator iterator2 = 
originalReport.getDependencies().iterator(); iterator2
-                    .hasNext();) {
-                IvyNode originalDependency = (IvyNode) iterator2.next();
+        for (IvyNode latest : latestReport.getDependencies()) {
+            for (IvyNode originalDependency : 
originalReport.getDependencies()) {
                 if 
(originalDependency.getModuleId().equals(latest.getModuleId())) {
                     if (!originalDependency.getResolvedId().getRevision()
                             .equals(latest.getResolvedId().getRevision())) {
@@ -105,18 +99,13 @@ public class IvyDependencyUpdateChecker extends 
IvyPostResolveTask {
                         // (unfortunately .isTransitive() methods do not have 
the same meaning)
                         boolean isTransitiveDependency = 
latest.getDependencyDescriptor(latest
                                 .getRoot()) == null;
-                        if ((!isTransitiveDependency) || 
(isTransitiveDependency && showTransitive)) {
-                            StringBuffer sb = new StringBuffer();
-                            sb.append("\t")//
-                                    
.append(originalDependency.getResolvedId().getOrganisation()) //
-                                    .append('#')//
-                                    
.append(originalDependency.getResolvedId().getName())//
-                                    .append(isTransitiveDependency ? " 
(transitive)" : "") //
-                                    .append("\t")//
-                                    
.append(originalDependency.getResolvedId().getRevision())//
-                                    .append(" -> ")//
-                                    
.append(latest.getResolvedId().getRevision());
-                            log(sb.toString());
+                        if (!isTransitiveDependency || showTransitive) {
+                            log(String.format("\t%s#%s%s\t%s -> %s",
+                                    
originalDependency.getResolvedId().getOrganisation(),
+                                    
originalDependency.getResolvedId().getName(),
+                                    isTransitiveDependency ? " (transitive)" : 
"",
+                                    
originalDependency.getResolvedId().getRevision(),
+                                    latest.getResolvedId().getRevision()));
                             dependencyUpdateDetected = true;
                         }
                     }
@@ -131,16 +120,10 @@ public class IvyDependencyUpdateChecker extends 
IvyPostResolveTask {
 
     private void displayMissingDependencyOnLatest(ResolveReport originalReport,
             ResolveReport latestReport) {
-        List/* <ModuleRevisionId> */listOfMissingDependencyOnLatest = new 
ArrayList/*
-                                                                               
     * <ModuleRevisionId
-                                                                               
     * >
-                                                                               
     */();
-        for (Iterator iterator = originalReport.getDependencies().iterator(); 
iterator.hasNext();) {
-            IvyNode originalDependency = (IvyNode) iterator.next();
+        List<ModuleRevisionId> listOfMissingDependencyOnLatest = new 
ArrayList<>();
+        for (IvyNode originalDependency : originalReport.getDependencies()) {
             boolean dependencyFound = false;
-            for (Iterator iterator2 = 
latestReport.getDependencies().iterator(); iterator2
-                    .hasNext();) {
-                IvyNode latest = (IvyNode) iterator2.next();
+            for (IvyNode latest : latestReport.getDependencies()) {
                 if 
(originalDependency.getModuleId().equals(latest.getModuleId())) {
                     dependencyFound = true;
                 }
@@ -152,8 +135,7 @@ public class IvyDependencyUpdateChecker extends 
IvyPostResolveTask {
 
         if (listOfMissingDependencyOnLatest.size() > 0) {
             log("List of missing dependency on latest resolve :");
-            for (Iterator iterator = 
listOfMissingDependencyOnLatest.iterator(); iterator.hasNext();) {
-                ModuleRevisionId moduleRevisionId = (ModuleRevisionId) 
iterator.next();
+            for (ModuleRevisionId moduleRevisionId : 
listOfMissingDependencyOnLatest) {
                 log("\t" + moduleRevisionId.toString());
             }
         }
@@ -161,14 +143,10 @@ public class IvyDependencyUpdateChecker extends 
IvyPostResolveTask {
 
     private void displayNewDependencyOnLatest(ResolveReport originalReport,
             ResolveReport latestReport) {
-        List/* <ModuleRevisionId> */listOfNewDependencyOnLatest = new 
ArrayList/* <ModuleRevisionId> */();
-        for (Iterator iterator = latestReport.getDependencies().iterator(); 
iterator.hasNext();) {
-            IvyNode latest = (IvyNode) iterator.next();
-
+        List<ModuleRevisionId> listOfNewDependencyOnLatest = new ArrayList<>();
+        for (IvyNode latest : latestReport.getDependencies()) {
             boolean dependencyFound = false;
-            for (Iterator iterator2 = 
originalReport.getDependencies().iterator(); iterator2
-                    .hasNext();) {
-                IvyNode originalDependency = (IvyNode) iterator2.next();
+            for (IvyNode originalDependency : 
originalReport.getDependencies()) {
                 if 
(originalDependency.getModuleId().equals(latest.getModuleId())) {
                     dependencyFound = true;
                 }
@@ -179,8 +157,7 @@ public class IvyDependencyUpdateChecker extends 
IvyPostResolveTask {
         }
         if (listOfNewDependencyOnLatest.size() > 0) {
             log("List of new dependency on latest resolve :");
-            for (Iterator iterator = listOfNewDependencyOnLatest.iterator(); 
iterator.hasNext();) {
-                ModuleRevisionId moduleRevisionId = (ModuleRevisionId) 
iterator.next();
+            for (ModuleRevisionId moduleRevisionId : 
listOfNewDependencyOnLatest) {
                 log("\t" + moduleRevisionId.toString());
             }
         }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyExtractFromSources.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyExtractFromSources.java 
b/src/java/org/apache/ivy/ant/IvyExtractFromSources.java
index 62e4228..588c2a6 100644
--- a/src/java/org/apache/ivy/ant/IvyExtractFromSources.java
+++ b/src/java/org/apache/ivy/ant/IvyExtractFromSources.java
@@ -27,7 +27,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -67,9 +66,10 @@ public class IvyExtractFromSources extends Task {
 
     private String status;
 
-    private List ignoredPackaged = new ArrayList(); // List (String package)
+    private final List<String> ignoredPackaged = new ArrayList<>(); // List 
(String package)
 
-    private Map mapping = new HashMap(); // Map (String package -> 
ModuleRevisionId)
+    private final Map<String, ModuleRevisionId> mapping = new HashMap<>();
+    // Map(String package -> ModuleRevisionId)
 
     private Concat concat = new Concat();
 
@@ -132,35 +132,28 @@ public class IvyExtractFromSources extends Task {
         Writer out = new StringWriter();
         concat.setWriter(out);
         concat.execute();
-        Set importsSet = new 
HashSet(Arrays.asList(out.toString().split("\n")));
-        Set dependencies = new HashSet();
-        for (Iterator iter = importsSet.iterator(); iter.hasNext();) {
-            String pack = ((String) iter.next()).trim();
-            ModuleRevisionId mrid = getMapping(pack);
+        Set<String> importsSet = new 
HashSet<>(Arrays.asList(out.toString().split("\n")));
+        Set<ModuleRevisionId> dependencies = new HashSet<>();
+        for (String pack : importsSet) {
+            ModuleRevisionId mrid = getMapping(pack.trim());
             if (mrid != null) {
                 dependencies.add(mrid);
             }
         }
         try {
             PrintWriter writer = new PrintWriter(new FileOutputStream(to));
-            writer.println("<ivy-module version=\"1.0\">");
-            writer.println("\t<info organisation=\"" + organisation + "\"");
-            writer.println("\t       module=\"" + module + "\"");
+            writer.println(String.format("<ivy-module 
version=\"1.0\">%n\t<info organisation=\"%s\"%n\t       module=\"%s\"",
+                    organisation, module));
             if (revision != null) {
                 writer.println("\t       revision=\"" + revision + "\"");
             }
-            if (status != null) {
-                writer.println("\t       status=\"" + status + "\"");
-            } else {
-                writer.println("\t       status=\"integration\"");
-            }
-            writer.println("\t/>");
+            writer.println(String.format("\t       status=\"%s\"%n\t/>",
+                    (status == null) ? "integration" : status));
             if (!dependencies.isEmpty()) {
                 writer.println("\t<dependencies>");
-                for (Iterator iter = dependencies.iterator(); iter.hasNext();) 
{
-                    ModuleRevisionId mrid = (ModuleRevisionId) iter.next();
-                    writer.println("\t\t<dependency org=\"" + 
mrid.getOrganisation() + "\" name=\""
-                            + mrid.getName() + "\" rev=\"" + 
mrid.getRevision() + "\"/>");
+                for (ModuleRevisionId mrid : dependencies) {
+                    writer.println(String.format("\t\t<dependency org=\"%s\" 
name=\"%s\" rev=\"%s\"/>",
+                            mrid.getOrganisation(), mrid.getName(), 
mrid.getRevision()));
                 }
                 writer.println("\t</dependencies>");
             }
@@ -183,7 +176,7 @@ public class IvyExtractFromSources extends Task {
             if (ignoredPackaged.contains(pack)) {
                 return null;
             }
-            ret = (ModuleRevisionId) mapping.get(pack);
+            ret = mapping.get(pack);
             int lastDotIndex = pack.lastIndexOf('.');
             if (lastDotIndex != -1) {
                 pack = pack.substring(0, lastDotIndex);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyInfo.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyInfo.java 
b/src/java/org/apache/ivy/ant/IvyInfo.java
index 0bbf939..df5c880 100644
--- a/src/java/org/apache/ivy/ant/IvyInfo.java
+++ b/src/java/org/apache/ivy/ant/IvyInfo.java
@@ -21,10 +21,9 @@ import java.io.File;
 import java.net.MalformedURLException;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Iterator;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.apache.ivy.Ivy;
 import org.apache.ivy.core.module.descriptor.Artifact;
@@ -162,50 +161,44 @@ public class IvyInfo extends IvyTask {
                 Long.toString(md.getPublicationDate().getTime()));
         }
 
-        Map extra = mrid.getExtraAttributes();
-        for (Iterator iter = extra.entrySet().iterator(); iter.hasNext();) {
-            Entry entry = (Entry) iter.next();
+        Map<String, String> extra = mrid.getExtraAttributes();
+        for (Map.Entry<String, String> entry : extra.entrySet()) {
             getProject().setProperty(property + ".extra." + entry.getKey(),
-                (String) entry.getValue());
+                    entry.getValue());
         }
 
         getProject().setProperty(property + ".configurations",
             mergeConfs(md.getConfigurationsNames()));
 
         // store the public configurations in a separate property
-        Configuration[] configs = md.getConfigurations();
-        List publicConfigsList = new ArrayList();
-        for (int i = 0; i < configs.length; i++) {
-            String name = configs[i].getName();
-            if (Visibility.PUBLIC.equals(configs[i].getVisibility())) {
+        List<String> publicConfigsList = new ArrayList<>();
+        for (Configuration config : md.getConfigurations()) {
+            String name = config.getName();
+            if (Visibility.PUBLIC.equals(config.getVisibility())) {
                 publicConfigsList.add(name);
             }
 
-            if (configs[i].getDescription() != null) {
+            if (config.getDescription() != null) {
                 getProject().setProperty(property + ".configuration." + name + 
".desc",
-                    configs[i].getDescription());
+                    config.getDescription());
             }
         }
-        String[] publicConfigs = (String[]) publicConfigsList.toArray(new 
String[publicConfigsList
-                .size()]);
+        String[] publicConfigs = publicConfigsList.toArray(new 
String[publicConfigsList.size()]);
         getProject().setProperty(property + ".public.configurations", 
mergeConfs(publicConfigs));
 
-        Artifact[] artifacts = md.getAllArtifacts();
-        for (int i = 0; i < artifacts.length; i++) {
-            int id = i + 1;
-            getProject()
-                    .setProperty(property + ".artifact." + id + ".name", 
artifacts[i].getName());
-            getProject()
-                    .setProperty(property + ".artifact." + id + ".type", 
artifacts[i].getType());
-            getProject().setProperty(property + ".artifact." + id + ".ext", 
artifacts[i].getExt());
+        List<Artifact> artifacts = Arrays.asList(md.getAllArtifacts());
+        for (Artifact artifact : artifacts) {
+            int id = artifacts.indexOf(artifact) + 1;
+            getProject().setProperty(property + ".artifact." + id + ".name", 
artifact.getName());
+            getProject().setProperty(property + ".artifact." + id + ".type", 
artifact.getType());
+            getProject().setProperty(property + ".artifact." + id + ".ext", 
artifact.getExt());
             getProject().setProperty(property + ".artifact." + id + ".conf",
-                mergeConfs(artifacts[i].getConfigurations()));
+                mergeConfs(artifact.getConfigurations()));
 
-            Map artiExtra = artifacts[i].getExtraAttributes();
-            for (Iterator iter = artiExtra.entrySet().iterator(); 
iter.hasNext();) {
-                Entry entry = (Entry) iter.next();
+            Map<String, String> artiExtra = artifact.getExtraAttributes();
+            for (Map.Entry<String, String> entry : artiExtra.entrySet()) {
                 getProject().setProperty(property + ".artifact." + id + 
".extra." + entry.getKey(),
-                    (String) entry.getValue());
+                    entry.getValue());
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyListModules.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyListModules.java 
b/src/java/org/apache/ivy/ant/IvyListModules.java
index a516571..30975bb 100644
--- a/src/java/org/apache/ivy/ant/IvyListModules.java
+++ b/src/java/org/apache/ivy/ant/IvyListModules.java
@@ -149,9 +149,9 @@ public class IvyListModules extends IvyTask {
                 patternMatcher);
         }
 
-        for (int i = 0; i < mrids.length; i++) {
-            String name = 
IvyPatternHelper.substitute(settings.substitute(property), mrids[i]);
-            String value = 
IvyPatternHelper.substitute(settings.substitute(this.value), mrids[i]);
+        for (ModuleRevisionId mrid : mrids) {
+            String name = 
IvyPatternHelper.substitute(settings.substitute(property), mrid);
+            String value = 
IvyPatternHelper.substitute(settings.substitute(this.value), mrid);
             getProject().setProperty(name, value);
         }
     }

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyMakePom.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyMakePom.java 
b/src/java/org/apache/ivy/ant/IvyMakePom.java
index 395a4ad..892b8f2 100644
--- a/src/java/org/apache/ivy/ant/IvyMakePom.java
+++ b/src/java/org/apache/ivy/ant/IvyMakePom.java
@@ -151,9 +151,9 @@ public class IvyMakePom extends IvyTask {
 
     private String description;
 
-    private List<Mapping> mappings = new ArrayList<Mapping>();
+    private List<Mapping> mappings = new ArrayList<>();
 
-    private List<Dependency> dependencies = new ArrayList<Dependency>();
+    private List<Dependency> dependencies = new ArrayList<>();
 
     public File getPomFile() {
         return pomFile;
@@ -282,12 +282,11 @@ public class IvyMakePom extends IvyTask {
     }
 
     private Map<String, String> getMappingsMap() {
-        Map<String, String> mappingsMap = new LinkedHashMap<String, String>();
+        Map<String, String> mappingsMap = new LinkedHashMap<>();
         for (Mapping mapping : mappings) {
-            String[] mappingConfs = splitConfs(mapping.getConf());
-            for (int i = 0; i < mappingConfs.length; i++) {
-                if (!mappingsMap.containsKey(mappingConfs[i])) {
-                    mappingsMap.put(mappingConfs[i], mapping.getScope());
+            for (String mappingConf : splitConfs(mapping.getConf())) {
+                if (!mappingsMap.containsKey(mappingConf)) {
+                    mappingsMap.put(mappingConf, mapping.getScope());
                 }
             }
         }
@@ -295,7 +294,7 @@ public class IvyMakePom extends IvyTask {
     }
 
     private List<ExtraDependency> getDependencies() {
-        List<ExtraDependency> result = new ArrayList<ExtraDependency>();
+        List<ExtraDependency> result = new ArrayList<>();
         for (Dependency dependency : dependencies) {
             result.add(new ExtraDependency(dependency.getGroup(), 
dependency.getArtifact(),
                     dependency.getVersion(), dependency.getScope(), 
dependency.getType(),

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyPostResolveTask.java 
b/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
index 757b724..bcca68c 100644
--- a/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
+++ b/src/java/org/apache/ivy/ant/IvyPostResolveTask.java
@@ -20,7 +20,6 @@ package org.apache.ivy.ant;
 import java.io.File;
 import java.util.Arrays;
 import java.util.HashSet;
-import java.util.Iterator;
 
 import org.apache.ivy.Ivy;
 import org.apache.ivy.core.cache.ResolutionCacheManager;
@@ -212,12 +211,9 @@ public abstract class IvyPostResolveTask extends IvyTask {
     protected void ensureResolved(IvySettings settings) {
         String requestedConfigs = getProperty(getConf(), settings, 
"ivy.resolved.configurations");
 
-        String[] confs = null;
-        if (getResolveId() != null) {
-            confs = getConfsToResolve(getResolveId(), requestedConfigs);
-        } else {
-            confs = getConfsToResolve(getOrganisation(), getModule(), 
requestedConfigs, false);
-        }
+        String[] confs = (getResolveId() == null)
+                ? getConfsToResolve(getOrganisation(), getModule(), 
requestedConfigs, false)
+                : getConfsToResolve(getResolveId(), requestedConfigs);
 
         if (confs.length > 0) {
             IvyResolve resolve = setupResolve(isHaltonfailure(), 
isUseOrigin());
@@ -230,13 +226,13 @@ public abstract class IvyPostResolveTask extends IvyTask {
     }
 
     protected String[] getConfsToResolve(String org, String module, String 
conf, boolean strict) {
-        ModuleDescriptor reference = (ModuleDescriptor) 
getResolvedDescriptor(org, module, strict);
+        ModuleDescriptor reference = getResolvedDescriptor(org, module, 
strict);
         String[] rconfs = getResolvedConfigurations(org, module, strict);
         return getConfsToResolve(reference, conf, rconfs);
     }
 
     protected String[] getConfsToResolve(String resolveId, String conf) {
-        ModuleDescriptor reference = (ModuleDescriptor) 
getResolvedDescriptor(resolveId, false);
+        ModuleDescriptor reference = getResolvedDescriptor(resolveId, false);
         if (reference == null) {
             // assume the module has been resolved outside this build, resolve 
the required
             // configurations again
@@ -247,8 +243,7 @@ public abstract class IvyPostResolveTask extends IvyTask {
                 return splitConfs(conf);
             }
         }
-        String[] rconfs = (String[]) getProject().getReference(
-            "ivy.resolved.configurations.ref." + resolveId);
+        String[] rconfs = 
getProject().getReference("ivy.resolved.configurations.ref." + resolveId);
         return getConfsToResolve(reference, conf, rconfs);
     }
 
@@ -270,29 +265,28 @@ public abstract class IvyPostResolveTask extends IvyTask {
                 confs = splitConfs(conf);
             }
 
-            HashSet rconfsSet = new HashSet(Arrays.asList(rconfs));
+            HashSet<String> rconfsSet = new HashSet<>();
 
             // for each resolved configuration, check if the report still 
exists
             ResolutionCacheManager cache = 
getSettings().getResolutionCacheManager();
-            for (Iterator it = rconfsSet.iterator(); it.hasNext();) {
-                String resolvedConf = (String) it.next();
+            for (String resolvedConf : rconfs) {
                 String resolveId = getResolveId();
                 if (resolveId == null) {
                     resolveId = ResolveOptions.getDefaultResolveId(reference);
                 }
                 File report = 
cache.getConfigurationResolveReportInCache(resolveId, resolvedConf);
-                if (!report.exists()) {
-                    // the report doesn't exist any longer, we have to 
recreate it...
-                    it.remove();
+                // if the report does not exist any longer, we have to 
recreate it...
+                if (report.exists()) {
+                    rconfsSet.add(resolvedConf);
                 }
             }
 
-            HashSet confsSet = new HashSet(Arrays.asList(confs));
+            HashSet<String> confsSet = new HashSet<>(Arrays.asList(confs));
             Message.debug("resolved configurations:   " + rconfsSet);
             Message.debug("asked configurations:      " + confsSet);
             confsSet.removeAll(rconfsSet);
             Message.debug("to resolve configurations: " + confsSet);
-            return (String[]) confsSet.toArray(new String[confsSet.size()]);
+            return confsSet.toArray(new String[confsSet.size()]);
         } else {
             Message.debug("module already resolved, no configuration to 
resolve");
             return new String[0];

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyPublish.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyPublish.java 
b/src/java/org/apache/ivy/ant/IvyPublish.java
index 9795231..4815b30 100644
--- a/src/java/org/apache/ivy/ant/IvyPublish.java
+++ b/src/java/org/apache/ivy/ant/IvyPublish.java
@@ -61,7 +61,7 @@ public class IvyPublish extends IvyTask {
 
     private String publishResolverName = null;
 
-    private List<String> artifactspattern = new ArrayList<String>();
+    private List<String> artifactspattern = new ArrayList<>();
 
     private File deliveryList;
 
@@ -81,7 +81,7 @@ public class IvyPublish extends IvyTask {
 
     private boolean forcedeliver;
 
-    private Collection<Artifact> artifacts = new ArrayList<Artifact>();
+    private Collection<Artifact> artifacts = new ArrayList<>();
 
     private String pubBranch;
 
@@ -391,7 +391,7 @@ public class IvyPublish extends IvyTask {
 
         private String type;
 
-        private Map<String, String> extra = new HashMap<String, String>();
+        private Map<String, String> extra = new HashMap<>();
 
         public String[] getConfigurations() {
             return null;

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyReport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyReport.java 
b/src/java/org/apache/ivy/ant/IvyReport.java
index 6ac9d09..b4d4112 100644
--- a/src/java/org/apache/ivy/ant/IvyReport.java
+++ b/src/java/org/apache/ivy/ant/IvyReport.java
@@ -27,7 +27,6 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.text.ParseException;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import javax.xml.transform.Source;
@@ -79,7 +78,7 @@ public class IvyReport extends IvyTask {
 
     private String xslext = "html";
 
-    private List params = new ArrayList();
+    private final List<XSLTProcess.Param> params = new ArrayList<>();
 
     private String resolveId;
 
@@ -223,14 +222,14 @@ public class IvyReport extends IvyTask {
 
     private void genxml(String[] confs) throws IOException {
         ResolutionCacheManager cacheMgr = 
getIvyInstance().getResolutionCacheManager();
-        for (int i = 0; i < confs.length; i++) {
-            File xml = 
cacheMgr.getConfigurationResolveReportInCache(resolveId, confs[i]);
+        for (String config : confs) {
+            File xml = 
cacheMgr.getConfigurationResolveReportInCache(resolveId, config);
 
             File out;
             if (todir != null) {
-                out = new File(todir, getOutputPattern(confs[i], "xml"));
+                out = new File(todir, getOutputPattern(config, "xml"));
             } else {
-                out = getProject().resolveFile(getOutputPattern(confs[i], 
"xml"));
+                out = getProject().resolveFile(getOutputPattern(config, 
"xml"));
             }
 
             FileUtil.copy(xml, out, null);
@@ -322,16 +321,14 @@ public class IvyReport extends IvyTask {
             transformer.setParameter("extension", xslext);
 
             // add the provided XSLT parameters
-            for (Iterator it = params.iterator(); it.hasNext();) {
-                XSLTProcess.Param param = (XSLTProcess.Param) it.next();
+            for (XSLTProcess.Param param : params) {
                 transformer.setParameter(param.getName(), 
param.getExpression());
             }
 
             // create the report
-            for (int i = 0; i < confs.length; i++) {
-                File reportFile = cacheMgr
-                        .getConfigurationResolveReportInCache(resolveId, 
confs[i]);
-                File outFile = new File(out, getOutputPattern(confs[i], ext));
+            for (String config : confs) {
+                File reportFile = 
cacheMgr.getConfigurationResolveReportInCache(resolveId, config);
+                File outFile = new File(out, getOutputPattern(config, ext));
 
                 log("Processing " + reportFile + " to " + outFile);
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyRepositoryReport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyRepositoryReport.java 
b/src/java/org/apache/ivy/ant/IvyRepositoryReport.java
index 86efbf8..da27edd 100644
--- a/src/java/org/apache/ivy/ant/IvyRepositoryReport.java
+++ b/src/java/org/apache/ivy/ant/IvyRepositoryReport.java
@@ -21,7 +21,6 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
@@ -71,7 +70,7 @@ public class IvyRepositoryReport extends IvyTask {
 
     private String xslext = "html";
 
-    private List params = new ArrayList();
+    private final List<XSLTProcess.Param> params = new ArrayList<>();
 
     public void doExecute() throws BuildException {
         Ivy ivy = getIvyInstance();
@@ -86,27 +85,22 @@ public class IvyRepositoryReport extends IvyTask {
         } else if (module == null && !PatternMatcher.EXACT.equals(matcher)) {
             module = PatternMatcher.ANY_EXPRESSION;
         }
-        ModuleRevisionId mrid = ModuleRevisionId.newInstance(organisation, 
module, revision);
+        ModuleRevisionId moduleRevisionId = 
ModuleRevisionId.newInstance(organisation, module, revision);
 
         try {
-            ModuleRevisionId criteria = null;
-
-            if ((revision == null) || 
settings.getVersionMatcher().isDynamic(mrid)) {
-                criteria = new ModuleRevisionId(new ModuleId(organisation, 
module), branch, "*");
-            } else {
-                criteria = new ModuleRevisionId(new ModuleId(organisation, 
module), branch,
-                        revision);
-            }
+            ModuleRevisionId criteria = (revision == null) || 
settings.getVersionMatcher().isDynamic(moduleRevisionId)
+                    ? new ModuleRevisionId(new ModuleId(organisation, module), 
branch, "*")
+                    : new ModuleRevisionId(new ModuleId(organisation, module), 
branch, revision);
 
             ModuleRevisionId[] mrids = ivy.listModules(criteria, 
settings.getMatcher(matcher));
 
             // replace all found revisions with the original requested revision
-            Set modules = new HashSet();
-            for (int i = 0; i < mrids.length; i++) {
-                modules.add(ModuleRevisionId.newInstance(mrids[i], revision));
+            Set<ModuleRevisionId> modules = new HashSet<>();
+            for (ModuleRevisionId mrid : mrids) {
+                modules.add(ModuleRevisionId.newInstance(mrid, revision));
             }
 
-            mrids = (ModuleRevisionId[]) modules.toArray(new 
ModuleRevisionId[modules.size()]);
+            mrids = modules.toArray(new ModuleRevisionId[modules.size()]);
             ModuleDescriptor md = 
DefaultModuleDescriptor.newCallerInstance(mrids, true, false);
             String resolveId = ResolveOptions.getDefaultResolveId(md);
             ResolveReport report = ivy.resolve(md, new 
ResolveOptions().setResolveId(resolveId)
@@ -115,24 +109,23 @@ public class IvyRepositoryReport extends IvyTask {
             ResolutionCacheManager cacheMgr = 
getIvyInstance().getResolutionCacheManager();
             new XmlReportOutputter().output(report, cacheMgr, new 
ResolveOptions());
             if (graph) {
-                gengraph(cacheMgr, md.getModuleRevisionId().getOrganisation(), 
md
-                        .getModuleRevisionId().getName());
+                gengraph(cacheMgr, md.getModuleRevisionId().getOrganisation(),
+                        md.getModuleRevisionId().getName());
             }
             if (dot) {
-                gendot(cacheMgr, md.getModuleRevisionId().getOrganisation(), md
-                        .getModuleRevisionId().getName());
+                gendot(cacheMgr, md.getModuleRevisionId().getOrganisation(),
+                        md.getModuleRevisionId().getName());
             }
             if (xml) {
-
                 
FileUtil.copy(cacheMgr.getConfigurationResolveReportInCache(resolveId, 
"default"),
                     new File(getTodir(), outputname + ".xml"), null);
             }
             if (xsl) {
-                genreport(cacheMgr, 
md.getModuleRevisionId().getOrganisation(), md
-                        .getModuleRevisionId().getName());
+                genreport(cacheMgr, md.getModuleRevisionId().getOrganisation(),
+                        md.getModuleRevisionId().getName());
             }
         } catch (Exception e) {
-            throw new BuildException("impossible to generate graph for " + 
mrid + ": " + e, e);
+            throw new BuildException("impossible to generate graph for " + 
moduleRevisionId + ": " + e, e);
         }
     }
 
@@ -150,13 +143,12 @@ public class IvyRepositoryReport extends IvyTask {
 
         xslt.setStyle(xslFile);
 
-        XSLTProcess.Param param = xslt.createParam();
-        param.setName("extension");
-        param.setExpression(xslext);
+        XSLTProcess.Param xslExt = xslt.createParam();
+        xslExt.setName("extension");
+        xslExt.setExpression(xslext);
 
         // add the provided XSLT parameters
-        for (Iterator it = params.iterator(); it.hasNext();) {
-            param = (XSLTProcess.Param) it.next();
+        for (XSLTProcess.Param param : params) {
             XSLTProcess.Param realParam = xslt.createParam();
             realParam.setName(param.getName());
             realParam.setExpression(param.getExpression());

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/9235380f/src/java/org/apache/ivy/ant/IvyResolve.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/ant/IvyResolve.java 
b/src/java/org/apache/ivy/ant/IvyResolve.java
index 8e42f71..92513d8 100644
--- a/src/java/org/apache/ivy/ant/IvyResolve.java
+++ b/src/java/org/apache/ivy/ant/IvyResolve.java
@@ -90,11 +90,11 @@ public class IvyResolve extends IvyTask {
 
     private boolean checkIfChanged = true; // for backward compatibility
 
-    private List<IvyDependency> dependencies = new ArrayList<IvyDependency>();
+    private List<IvyDependency> dependencies = new ArrayList<>();
 
-    private List<IvyExclude> excludes = new ArrayList<IvyExclude>();
+    private List<IvyExclude> excludes = new ArrayList<>();
 
-    private List<IvyConflict> conflicts = new ArrayList<IvyConflict>();
+    private List<IvyConflict> conflicts = new ArrayList<>();
 
     public boolean isUseOrigin() {
         return useOrigin;

Reply via email to