You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by hi...@apache.org on 2014/01/04 18:18:47 UTC

svn commit: r1555372 - in /ant/ivy/core/trunk/src/java/org/apache/ivy: ant/ core/report/ core/sort/ plugins/report/

Author: hibou
Date: Sat Jan  4 17:18:46 2014
New Revision: 1555372

URL: http://svn.apache.org/r1555372
Log:
embrace Java 5

Modified:
    ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheTask.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ConfigurationResolveReport.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/CollectionOfModulesToSort.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleDescriptorSorter.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleInSort.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/SortEngine.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/XmlReportParser.java

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheTask.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheTask.java?rev=1555372&r1=1555371&r2=1555372&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheTask.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheTask.java Sat Jan  4 17:18:46 2014
@@ -23,7 +23,6 @@ import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
@@ -44,11 +43,10 @@ import org.apache.tools.ant.BuildExcepti
  */
 public abstract class IvyCacheTask extends IvyPostResolveTask {
 
-    protected List getArtifactReports() throws BuildException, ParseException, IOException {
-        Collection artifacts = getAllArtifactReports();
-        List ret = new ArrayList();
-        for (Iterator iter = artifacts.iterator(); iter.hasNext();) {
-            ArtifactDownloadReport artifactReport = (ArtifactDownloadReport) iter.next();
+    protected List<ArtifactDownloadReport> getArtifactReports() throws BuildException, ParseException, IOException {
+        Collection<ArtifactDownloadReport> artifacts = getAllArtifactReports();
+        List<ArtifactDownloadReport> ret = new ArrayList<ArtifactDownloadReport>();
+        for (ArtifactDownloadReport artifactReport : artifacts) {
             if (getArtifactFilter().accept(artifactReport.getArtifact())) {
                 ret.add(artifactReport);
             }
@@ -57,9 +55,9 @@ public abstract class IvyCacheTask exten
         return ret;
     }
 
-    private Collection getAllArtifactReports() throws ParseException, IOException {
+    private Collection<ArtifactDownloadReport> getAllArtifactReports() throws ParseException, IOException {
         String[] confs = splitConfs(getConf());
-        Collection all = new LinkedHashSet();
+        Collection<ArtifactDownloadReport> all = new LinkedHashSet<ArtifactDownloadReport>();
 
         ResolveReport report = getResolvedReport();
         if (report != null) {
@@ -71,9 +69,8 @@ public abstract class IvyCacheTask exten
                     throw new BuildException("bad confs provided: " + confs[i]
                             + " not found among " + Arrays.asList(report.getConfigurations()));
                 }
-                Set revisions = configurationReport.getModuleRevisionIds();
-                for (Iterator it = revisions.iterator(); it.hasNext();) {
-                    ModuleRevisionId revId = (ModuleRevisionId) it.next();
+                Set<ModuleRevisionId> revisions = configurationReport.getModuleRevisionIds();
+                for (ModuleRevisionId revId : revisions) {
                     ArtifactDownloadReport[] aReports 
                         = configurationReport.getDownloadReports(revId);
                     all.addAll(Arrays.asList(aReports));

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ConfigurationResolveReport.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ConfigurationResolveReport.java?rev=1555372&r1=1555371&r2=1555372&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ConfigurationResolveReport.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ConfigurationResolveReport.java Sat Jan  4 17:18:46 2014
@@ -56,15 +56,15 @@ public class ConfigurationResolveReport 
 
     private final ResolveOptions options;
 
-    private Map/*<IvyNode, List<ArtifactDownloadReport>>*/ dependencyReports = new LinkedHashMap();
+    private Map<IvyNode, List<ArtifactDownloadReport>> dependencyReports = new LinkedHashMap<IvyNode, List<ArtifactDownloadReport>>();
 
-    private Map/*<ModuleRevisionId, IvyNode>*/ dependencies = new LinkedHashMap();
+    private Map<ModuleRevisionId, IvyNode> dependencies = new LinkedHashMap<ModuleRevisionId, IvyNode>();
 
     private final ResolveEngine resolveEngine;
 
-    private Map/*<ModuleId, Collection<IvyNode>>*/ modulesIdsMap = new LinkedHashMap();
+    private Map<ModuleId, Collection<IvyNode>> modulesIdsMap = new LinkedHashMap<ModuleId, Collection<IvyNode>>();
 
-    private List modulesIds;
+    private List<ModuleId> modulesIds;
 
     private Boolean hasChanged = null;
 
@@ -96,8 +96,8 @@ public class ConfigurationResolveReport 
             try {
                 XmlReportParser parser = new XmlReportParser();
                 parser.parse(previousReportFile);
-                List previousDeps = Arrays.asList(parser.getDependencyRevisionIds());
-                HashSet previousDepSet = new HashSet(previousDeps);
+                List<ModuleRevisionId> previousDeps = Arrays.asList(parser.getDependencyRevisionIds());
+                HashSet<ModuleRevisionId> previousDepSet = new HashSet<ModuleRevisionId>(previousDeps);
                 hasChanged = Boolean.valueOf(!previousDepSet.equals(getModuleRevisionIds()));
             } catch (Exception e) {
                 Message.warn("Error while parsing configuration resolve report "
@@ -122,10 +122,9 @@ public class ConfigurationResolveReport 
      * 
      * @return all non evicted and non error dependency mrids
      */
-    public Set getModuleRevisionIds() {
-        Set mrids = new LinkedHashSet();
-        for (Iterator iter = getDependencies().iterator(); iter.hasNext();) {
-            IvyNode node = (IvyNode) iter.next();
+    public Set<ModuleRevisionId> getModuleRevisionIds() {
+        Set<ModuleRevisionId> mrids = new LinkedHashSet<ModuleRevisionId>();
+        for (IvyNode node : getDependencies()) {
             if (!node.isEvicted(getConfiguration()) && !node.hasProblem()) {
                 mrids.add(node.getResolvedId());
             }
@@ -136,7 +135,7 @@ public class ConfigurationResolveReport 
     public void addDependency(IvyNode node) {
         dependencies.put(node.getId(), node);
         dependencies.put(node.getResolvedId(), node);
-        dependencyReports.put(node, Collections.EMPTY_LIST);
+        dependencyReports.put(node, Collections.<ArtifactDownloadReport>emptyList());
     }
 
     public void updateDependency(ModuleRevisionId mrid, IvyNode node) {
@@ -146,14 +145,14 @@ public class ConfigurationResolveReport 
     public void addDependency(IvyNode node, DownloadReport report) {
         dependencies.put(node.getId(), node);
         dependencies.put(node.getResolvedId(), node);
-        List adrs = new ArrayList();
+        List<ArtifactDownloadReport> adrs = new ArrayList<ArtifactDownloadReport>();
         Artifact[] artifacts = node.getArtifacts(conf);
-        for (int i = 0; i < artifacts.length; i++) {
-            ArtifactDownloadReport artifactReport = report.getArtifactReport(artifacts[i]);
+        for (Artifact artifact : artifacts) {
+            ArtifactDownloadReport artifactReport = report.getArtifactReport(artifact);
             if (artifactReport != null) {
                 adrs.add(artifactReport);
             } else {
-                Message.debug("no report found for " + artifacts[i]);
+                Message.debug("no report found for " + artifact);
             }
         }
         dependencyReports.put(node, adrs);
@@ -172,55 +171,51 @@ public class ConfigurationResolveReport 
     }
 
     public IvyNode[] getUnresolvedDependencies() {
-        List unresolved = new ArrayList();
-        for (Iterator iter = getDependencies().iterator(); iter.hasNext();) {
-            IvyNode node = (IvyNode) iter.next();
+        List<IvyNode> unresolved = new ArrayList<IvyNode>();
+        for (IvyNode node : getDependencies()) {
             if (node.hasProblem()) {
                 unresolved.add(node);
             }
         }
-        return (IvyNode[]) unresolved.toArray(new IvyNode[unresolved.size()]);
+        return unresolved.toArray(new IvyNode[unresolved.size()]);
     }
 
-    private Collection getDependencies() {
-        return new LinkedHashSet(dependencies.values());
+    private Collection<IvyNode> getDependencies() {
+        return new LinkedHashSet<IvyNode>(dependencies.values());
     }
 
     public IvyNode[] getEvictedNodes() {
-        List evicted = new ArrayList();
-        for (Iterator iter = getDependencies().iterator(); iter.hasNext();) {
-            IvyNode node = (IvyNode) iter.next();
+        List<IvyNode> evicted = new ArrayList<IvyNode>();
+        for (IvyNode node : getDependencies()) {
             if (node.isEvicted(conf)) {
                 evicted.add(node);
             }
         }
-        return (IvyNode[]) evicted.toArray(new IvyNode[evicted.size()]);
+        return evicted.toArray(new IvyNode[evicted.size()]);
     }
 
-    private Set/*<ModuleRevisionId>*/ getEvictedMrids() {
-        Set/*<ModuleRevisionId>*/ evicted = new LinkedHashSet();
+    private Set<ModuleRevisionId> getEvictedMrids() {
+        Set<ModuleRevisionId> evicted = new LinkedHashSet<ModuleRevisionId>();
         IvyNode[] evictedNodes = getEvictedNodes();
-        for (int i = 0; i < evictedNodes.length; i++) {
-            evicted.add(evictedNodes[i].getId());
+        for (IvyNode node : evictedNodes) {
+            evicted.add(node.getId());
         }
         return evicted;
     }
 
     public IvyNode[] getDownloadedNodes() {
-        List downloaded = new ArrayList();
-        for (Iterator iter = getDependencies().iterator(); iter.hasNext();) {
-            IvyNode node = (IvyNode) iter.next();
+        List<IvyNode> downloaded = new ArrayList<IvyNode>();
+        for (IvyNode node  : getDependencies()) {
             if (node.isDownloaded() && node.getRealNode() == node) {
                 downloaded.add(node);
             }
         }
-        return (IvyNode[]) downloaded.toArray(new IvyNode[downloaded.size()]);
+        return downloaded.toArray(new IvyNode[downloaded.size()]);
     }
 
     public IvyNode[] getSearchedNodes() {
-        List downloaded = new ArrayList();
-        for (Iterator iter = getDependencies().iterator(); iter.hasNext();) {
-            IvyNode node = (IvyNode) iter.next();
+        List<IvyNode> downloaded = new ArrayList<IvyNode>();
+        for (IvyNode node : getDependencies()) {
             if (node.isSearched() && node.getRealNode() == node) {
                 downloaded.add(node);
             }
@@ -229,15 +224,15 @@ public class ConfigurationResolveReport 
     }
 
     public ArtifactDownloadReport[] getDownloadReports(ModuleRevisionId mrid) {
-        Collection col = (Collection) dependencyReports.get(getDependency(mrid));
+        Collection<ArtifactDownloadReport> col = dependencyReports.get(getDependency(mrid));
         if (col == null) {
             return new ArtifactDownloadReport[0];
         }
-        return (ArtifactDownloadReport[]) col.toArray(new ArtifactDownloadReport[col.size()]);
+        return col.toArray(new ArtifactDownloadReport[col.size()]);
     }
 
     public IvyNode getDependency(ModuleRevisionId mrid) {
-        return (IvyNode) dependencies.get(mrid);
+        return dependencies.get(mrid);
     }
 
     /**
@@ -245,31 +240,30 @@ public class ConfigurationResolveReport 
      * 
      * @return a list of ModuleId
      */
-    public List/* <ModuleId> */getModuleIds() {
+    public List<ModuleId> getModuleIds() {
         if (modulesIds == null) {
-            List sortedDependencies = resolveEngine.getSortEngine().sortNodes(
+            List<IvyNode> sortedDependencies = resolveEngine.getSortEngine().sortNodes(
                 getDependencies(), SortOptions.SILENT);
             Collections.reverse(sortedDependencies);
-            for (Iterator iter = sortedDependencies.iterator(); iter.hasNext();) {
-                IvyNode dependency = (IvyNode) iter.next();
+            for (IvyNode dependency : sortedDependencies) {
                 ModuleId mid = dependency.getResolvedId().getModuleId();
-                Collection deps = (Collection) modulesIdsMap.get(mid);
+                Collection<IvyNode> deps = modulesIdsMap.get(mid);
                 if (deps == null) {
-                    deps = new LinkedHashSet();
+                    deps = new LinkedHashSet<IvyNode>();
                     modulesIdsMap.put(mid, deps);
                 }
                 deps.add(dependency);
             }
-            modulesIds = new ArrayList(modulesIdsMap.keySet());
+            modulesIds = new ArrayList<ModuleId>(modulesIdsMap.keySet());
         }
         return Collections.unmodifiableList(modulesIds);
     }
 
-    public Collection/* <IvyNode> */getNodes(ModuleId mid) {
+    public Collection<IvyNode> getNodes(ModuleId mid) {
         if (modulesIds == null) {
             getModuleIds();
         }
-        return (Collection) modulesIdsMap.get(mid);
+        return modulesIdsMap.get(mid);
     }
 
     public ResolveEngine getResolveEngine() {
@@ -278,8 +272,7 @@ public class ConfigurationResolveReport 
 
     public int getArtifactsNumber() {
         int total = 0;
-        for (Iterator iter = dependencyReports.values().iterator(); iter.hasNext();) {
-            Collection reports = (Collection) iter.next();
+        for (Collection<ArtifactDownloadReport> reports  : dependencyReports.values()) {
             total += reports == null ? 0 : reports.size();
         }
         return total;
@@ -309,15 +302,13 @@ public class ConfigurationResolveReport 
      */
     public ArtifactDownloadReport[] getArtifactsReports(
             DownloadStatus downloadStatus, boolean withEvicted) {
-        Collection all = new LinkedHashSet();
-        Collection evictedMrids = null;
+        Collection<ArtifactDownloadReport> all = new LinkedHashSet<ArtifactDownloadReport>();
+        Collection<ModuleRevisionId> evictedMrids = null;
         if (!withEvicted) {
             evictedMrids = getEvictedMrids();
         }
-        for (Iterator iter = dependencyReports.values().iterator(); iter.hasNext();) {
-            Collection reports = (Collection) iter.next();
-            for (Iterator itReport  = reports.iterator(); itReport.hasNext();) {
-                ArtifactDownloadReport report = (ArtifactDownloadReport) itReport.next();
+        for (Collection<ArtifactDownloadReport> reports : dependencyReports.values()) {
+            for (ArtifactDownloadReport report : reports) {
                 if (downloadStatus != null && report.getDownloadStatus() != downloadStatus) {
                     continue;
                 }
@@ -327,7 +318,7 @@ public class ConfigurationResolveReport 
                 }
             }
         }
-        return (ArtifactDownloadReport[]) all.toArray(new ArtifactDownloadReport[all.size()]);
+        return all.toArray(new ArtifactDownloadReport[all.size()]);
     }
 
     /**
@@ -360,15 +351,15 @@ public class ConfigurationResolveReport 
 
     public static ArtifactDownloadReport[] filterOutMergedArtifacts(
             ArtifactDownloadReport[] allFailedReports) {
-        Collection adrs = new ArrayList(Arrays.asList(allFailedReports));
-        for (Iterator iterator = adrs.iterator(); iterator.hasNext();) {
+        Collection<ArtifactDownloadReport> adrs = new ArrayList<ArtifactDownloadReport>(Arrays.asList(allFailedReports));
+        for (Iterator<ArtifactDownloadReport> iterator = adrs.iterator(); iterator.hasNext();) {
             ArtifactDownloadReport adr = (ArtifactDownloadReport) iterator.next();
             
             if (adr.getArtifact().getExtraAttribute("ivy:merged") != null) {
                 iterator.remove();
             }
         }
-        return (ArtifactDownloadReport[]) adrs.toArray(new ArtifactDownloadReport[adrs.size()]);
+        return adrs.toArray(new ArtifactDownloadReport[adrs.size()]);
     }
 
 }

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/CollectionOfModulesToSort.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/CollectionOfModulesToSort.java?rev=1555372&r1=1555371&r2=1555372&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/CollectionOfModulesToSort.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/CollectionOfModulesToSort.java Sat Jan  4 17:18:46 2014
@@ -35,13 +35,13 @@ import org.apache.ivy.plugins.version.Ve
  * dedicated function to retrieve module descriptors based on dependencies descriptors.<br>
  * <i>This class is designed to be used internally by the ModuleDescriptorSorter.</i>
  */
-class CollectionOfModulesToSort {
+class CollectionOfModulesToSort implements Iterable<ModuleInSort> {
 
-    private final List moduleDescriptors; // List<ModuleInSort>
+    private final List<ModuleInSort> moduleDescriptors;
 
     private final VersionMatcher versionMatcher;
 
-    private final Map modulesByModuleId; // Map<ModuleId , Collection<ModuleInSort>
+    private final Map<ModuleId , Collection<ModuleInSort>> modulesByModuleId;
 
     private final NonMatchingVersionReporter nonMatchingVersionReporter;
 
@@ -53,14 +53,13 @@ class CollectionOfModulesToSort {
      *            collection
      * @param nonMatchingVersionReporter
      */
-    public CollectionOfModulesToSort(Collection modulesToSort, VersionMatcher matcher,
+    public CollectionOfModulesToSort(Collection<ModuleDescriptor> modulesToSort, VersionMatcher matcher,
             NonMatchingVersionReporter nonMatchingVersionReporter) {
         this.versionMatcher = matcher;
         this.nonMatchingVersionReporter = nonMatchingVersionReporter;
-        this.modulesByModuleId = new HashMap();
-        moduleDescriptors = new ArrayList(modulesToSort.size());
-        for (Iterator it = modulesToSort.iterator(); it.hasNext();) {
-            ModuleDescriptor md = (ModuleDescriptor) it.next();
+        this.modulesByModuleId = new HashMap<ModuleId, Collection<ModuleInSort>>();
+        moduleDescriptors = new ArrayList<ModuleInSort>(modulesToSort.size());
+        for (ModuleDescriptor md : modulesToSort) {
             ModuleInSort mdInSort = new ModuleInSort(md);
             moduleDescriptors.add(mdInSort);
             addToModulesByModuleId(md, mdInSort);
@@ -69,15 +68,15 @@ class CollectionOfModulesToSort {
 
     private void addToModulesByModuleId(ModuleDescriptor md, ModuleInSort mdInSort) {
         ModuleId mdId = md.getModuleRevisionId().getModuleId();
-        List mdInSortAsList = new LinkedList();
+        List<ModuleInSort> mdInSortAsList = new LinkedList<ModuleInSort>();
         mdInSortAsList.add(mdInSort);
-        List previousList = (List) modulesByModuleId.put(mdId, mdInSortAsList);
+        Collection<ModuleInSort> previousList = modulesByModuleId.put(mdId, mdInSortAsList);
         if (previousList != null) {
             mdInSortAsList.addAll(previousList);
         }
     }
 
-    public Iterator iterator() {
+    public Iterator<ModuleInSort> iterator() {
         return moduleDescriptors.iterator();
     }
 
@@ -93,13 +92,12 @@ class CollectionOfModulesToSort {
      *         returns null.
      */
     public ModuleInSort getModuleDescriptorDependency(DependencyDescriptor descriptor) {
-        Collection modulesOfSameId = (Collection) modulesByModuleId.get(descriptor
+        Collection<ModuleInSort> modulesOfSameId = modulesByModuleId.get(descriptor
                 .getDependencyId());
         if (modulesOfSameId == null) {
             return null;
         }
-        for (Iterator it = modulesOfSameId.iterator(); it.hasNext();) {
-            ModuleInSort mdInSort = (ModuleInSort) it.next();
+        for (ModuleInSort mdInSort : modulesOfSameId) {
             if (mdInSort.match(descriptor, versionMatcher)) {
                 return mdInSort;
             } else {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleDescriptorSorter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleDescriptorSorter.java?rev=1555372&r1=1555371&r2=1555372&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleDescriptorSorter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleDescriptorSorter.java Sat Jan  4 17:18:46 2014
@@ -18,11 +18,11 @@
 package org.apache.ivy.core.sort;
 
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
 import org.apache.ivy.core.module.descriptor.DependencyDescriptor;
+import org.apache.ivy.core.module.descriptor.ModuleDescriptor;
 import org.apache.ivy.plugins.circular.CircularDependencyException;
 import org.apache.ivy.plugins.circular.CircularDependencyStrategy;
 import org.apache.ivy.plugins.version.VersionMatcher;
@@ -40,11 +40,11 @@ public class ModuleDescriptorSorter {
 
     private final CollectionOfModulesToSort moduleDescriptors;
 
-    private final List sorted = new LinkedList();
+    private final List<ModuleDescriptor> sorted = new LinkedList<ModuleDescriptor>();
 
     private final CircularDependencyStrategy circularDepStrategy;
 
-    public ModuleDescriptorSorter(Collection modulesDescriptorsToSort, VersionMatcher matcher,
+    public ModuleDescriptorSorter(Collection<ModuleDescriptor> modulesDescriptorsToSort, VersionMatcher matcher,
             NonMatchingVersionReporter nonMatchingVersionReporter,
             CircularDependencyStrategy circularDepStrategy) {
         this.circularDepStrategy = circularDepStrategy;
@@ -58,12 +58,10 @@ public class ModuleDescriptorSorter {
      * @return sorted module
      * @throws CircularDependencyException
      */
-    public List sortModuleDescriptors() throws CircularDependencyException {
+    public List<ModuleDescriptor> sortModuleDescriptors() throws CircularDependencyException {
         Message.debug("Nbr of module to sort : " + moduleDescriptors.size());
-        Iterator moduleDescriptorsIterator = moduleDescriptors.iterator();
-        while (moduleDescriptorsIterator.hasNext()) {
-            ModuleInSort next = (ModuleInSort) moduleDescriptorsIterator.next();
-            sortModuleDescriptorsHelp(next, next);
+        for (ModuleInSort m : moduleDescriptors) {
+            sortModuleDescriptorsHelp(m, m);
         }
         return sorted;
     }

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleInSort.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleInSort.java?rev=1555372&r1=1555371&r2=1555372&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleInSort.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/ModuleInSort.java Sat Jan  4 17:18:46 2014
@@ -17,7 +17,6 @@
  */
 package org.apache.ivy.core.sort;
 
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -51,7 +50,7 @@ class ModuleInSort {
 
     private boolean isSorted = false;
 
-    private List loopElements = new LinkedList();
+    private List<ModuleInSort> loopElements = new LinkedList<ModuleInSort>();
 
     private boolean isLoopIntermediateElement = false;
 
@@ -111,7 +110,7 @@ class ModuleInSort {
      */
     public boolean checkLoop(ModuleInSort futurCaller, CircularDependencyStrategy depStrategy) {
         if (caller != null) {
-            LinkedList elemOfLoop = new LinkedList();
+            LinkedList<ModuleRevisionId> elemOfLoop = new LinkedList<ModuleRevisionId>();
             elemOfLoop.add(this.module.getModuleRevisionId());
             for (ModuleInSort stackEl = futurCaller; stackEl != this; stackEl = stackEl.caller) {
                 elemOfLoop.add(stackEl.module.getModuleRevisionId());
@@ -136,7 +135,7 @@ class ModuleInSort {
      * @param sorted
      *            The list of sorted elements on which this module will be added
      */
-    public void addToSortedListIfRequired(List sorted) {
+    public void addToSortedListIfRequired(List<ModuleDescriptor> sorted) {
         if (!isLoopIntermediateElement) {
             addToSortList(sorted);
         }
@@ -146,9 +145,8 @@ class ModuleInSort {
      * Add this module to the sorted list. If current is the 'root' of a loop, then all elements of
      * that loops are added before.
      */
-    private void addToSortList(List sortedList) {
-        for (Iterator it = loopElements.iterator(); it.hasNext();) {
-            ModuleInSort moduleInLoop = (ModuleInSort) it.next();
+    private void addToSortList(List<ModuleDescriptor> sortedList) {
+        for (ModuleInSort moduleInLoop : loopElements) {
             moduleInLoop.addToSortList(sortedList);
         }
         if (!this.isSorted()) {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/SortEngine.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/SortEngine.java?rev=1555372&r1=1555371&r2=1555372&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/SortEngine.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/sort/SortEngine.java Sat Jan  4 17:18:46 2014
@@ -19,7 +19,6 @@ package org.apache.ivy.core.sort;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -55,7 +54,7 @@ public class SortEngine {
      *             if a circular dependency exists and circular dependency strategy decide to throw
      *             an exception
      */
-    public List/* <IvyNode> */sortNodes(Collection/* <IvyNode> */nodes, SortOptions options) {
+    public List<IvyNode> sortNodes(Collection<IvyNode> nodes, SortOptions options) {
         /*
          * here we want to use the sort algorithm which work on module descriptors : so we first put
          * dependencies on a map from descriptors to dependency, then we sort the keySet (i.e. a
@@ -63,28 +62,27 @@ public class SortEngine {
          * corresponding dependency
          */
 
-        Map dependenciesMap = new LinkedHashMap();
-        List nulls = new ArrayList();
-        for (Iterator iter = nodes.iterator(); iter.hasNext();) {
-            IvyNode node = (IvyNode) iter.next();
+        Map<ModuleDescriptor, List<IvyNode>> dependenciesMap = new LinkedHashMap<ModuleDescriptor, List<IvyNode>>();
+        List<IvyNode> nulls = new ArrayList<IvyNode>();
+        for (IvyNode node : nodes) {
             if (node.getDescriptor() == null) {
                 nulls.add(node);
             } else {
-                List n = (List) dependenciesMap.get(node.getDescriptor());
+                List<IvyNode> n = dependenciesMap.get(node.getDescriptor());
                 if (n == null) {
-                    n = new ArrayList();
+                    n = new ArrayList<IvyNode>();
                     dependenciesMap.put(node.getDescriptor(), n);
                 }
                 n.add(node);
             }
         }
-        List list = sortModuleDescriptors(dependenciesMap.keySet(), options);
+        List<ModuleDescriptor> list = sortModuleDescriptors(dependenciesMap.keySet(), options);
         final double adjustFactor = 1.3;
-        List ret = new ArrayList((int) (list.size() * adjustFactor + nulls.size()));
+        List<IvyNode> ret = new ArrayList<IvyNode>((int) (list.size() * adjustFactor + nulls.size()));
         // attempt to adjust the size to avoid too much list resizing
         for (int i = 0; i < list.size(); i++) {
             ModuleDescriptor md = (ModuleDescriptor) list.get(i);
-            List n = (List) dependenciesMap.get(md);
+            List<IvyNode> n = dependenciesMap.get(md);
             ret.addAll(n);
         }
         ret.addAll(0, nulls);
@@ -105,8 +103,9 @@ public class SortEngine {
      *             if a circular dependency exists and circular dependency strategy decide to throw
      *             an exception
      */
-    public List sortModuleDescriptors(Collection moduleDescriptors, SortOptions options) 
-                    throws CircularDependencyException {
+    public List<ModuleDescriptor> sortModuleDescriptors(
+            Collection<ModuleDescriptor> moduleDescriptors, SortOptions options)
+            throws CircularDependencyException {
         Checks.checkNotNull(options, "options");
         ModuleDescriptorSorter sorter = new ModuleDescriptorSorter(moduleDescriptors,
                 getVersionMatcher(), options.getNonMatchingVersionReporter(), 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/XmlReportParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/XmlReportParser.java?rev=1555372&r1=1555371&r2=1555372&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/XmlReportParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/report/XmlReportParser.java Sat Jan  4 17:18:46 2014
@@ -22,7 +22,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.SortedMap;
@@ -65,9 +64,10 @@ public class XmlReportParser {
 
             private boolean isDefault;
 
-            private SortedMap revisionsMap = new TreeMap(); // Use a TreeMap to order by
+            // Use a TreeMap to order by
+            private SortedMap<Integer, List<ArtifactDownloadReport>> revisionsMap = new TreeMap<Integer, List<ArtifactDownloadReport>>();
 
-            private List revisionArtifacts = null;
+            private List<ArtifactDownloadReport> revisionArtifacts = null;
 
             public void startElement(String uri, String localName, String qName,
                     Attributes attributes) throws SAXException {
@@ -75,7 +75,7 @@ public class XmlReportParser {
                     organisation = attributes.getValue("organisation");
                     module = attributes.getValue("name");
                 } else if ("revision".equals(qName)) {
-                    revisionArtifacts = new ArrayList();
+                    revisionArtifacts = new ArrayList<ArtifactDownloadReport>();
                     branch = attributes.getValue("branch");
                     revision = attributes.getValue("name");
                     isDefault = Boolean.valueOf(attributes.getValue("default")).booleanValue();
@@ -194,7 +194,7 @@ public class XmlReportParser {
                     String name = attributes.getValue("module");
                     String branch = attributes.getValue("branch");
                     String revision = attributes.getValue("revision");
-                    Map extraAttributes = new HashMap();
+                    Map<String, String> extraAttributes = new HashMap<String, String>();
                     for (int i = 0; i < attributes.getLength(); i++) {
                         String attName = attributes.getQName(i);
                         if (attName.startsWith("extra-")) {
@@ -212,12 +212,9 @@ public class XmlReportParser {
                     throws SAXException {
                 if ("dependencies".equals(qname)) {
                     // add the artifacts in the correct order
-                    for (Iterator it = revisionsMap.values().iterator(); it.hasNext();) {
-                        List artifactReports = (List) it.next();
+                    for (List<ArtifactDownloadReport> artifactReports : revisionsMap.values()) {
                         SaxXmlReportParser.this.artifactReports.addAll(artifactReports);
-                        for (Iterator iter = artifactReports.iterator(); iter.hasNext();) {
-                            ArtifactDownloadReport artifactReport 
-                                = (ArtifactDownloadReport) iter.next();
+                        for (ArtifactDownloadReport artifactReport : artifactReports) {
                             if (artifactReport.getDownloadStatus() != DownloadStatus.FAILED) {
                                 artifacts.add(artifactReport.getArtifact());
                             }
@@ -233,17 +230,17 @@ public class XmlReportParser {
             }
         }
 
-        private List/*<ModuleRevisionId>*/ mrids;
+        private List<ModuleRevisionId> mrids = new ArrayList<ModuleRevisionId>();
 
-        private List/*<ModuleRevisionId>*/ defaultMrids;
+        private List<ModuleRevisionId> defaultMrids = new ArrayList<ModuleRevisionId>();
 
-        private List/*<ModuleRevisionId>*/ realMrids;
+        private List<ModuleRevisionId> realMrids = new ArrayList<ModuleRevisionId>();
 
-        private List/*<Artifact>*/ artifacts;
+        private List<Artifact> artifacts = new ArrayList<Artifact>();
 
-        private List/*<ArtifactDownloadReport>*/ artifactReports;
-        
-        private Map/*<ModuleRevisionId,MetadataArtifactDownloadReport>*/ metadataReports;
+        private List<ArtifactDownloadReport> artifactReports = new ArrayList<ArtifactDownloadReport>();
+
+        private Map<ModuleRevisionId, MetadataArtifactDownloadReport> metadataReports = new HashMap<ModuleRevisionId, MetadataArtifactDownloadReport>();
 
         private ModuleRevisionId mRevisionId;
 
@@ -252,12 +249,6 @@ public class XmlReportParser {
         private boolean hasError = false;
         
         SaxXmlReportParser(File report) {
-            artifacts = new ArrayList();
-            artifactReports = new ArrayList();
-            mrids = new ArrayList();
-            defaultMrids = new ArrayList();
-            realMrids = new ArrayList();
-            metadataReports = new HashMap();
             this.report = report;
         }
 
@@ -270,19 +261,19 @@ public class XmlReportParser {
             return (str != null) && str.equalsIgnoreCase("true");
         }
 
-        public List getArtifacts() {
+        public List<Artifact> getArtifacts() {
             return artifacts;
         }
 
-        public List getArtifactReports() {
+        public List<ArtifactDownloadReport> getArtifactReports() {
             return artifactReports;
         }
 
-        public List getModuleRevisionIds() {
+        public List<ModuleRevisionId> getModuleRevisionIds() {
             return mrids;
         }
 
-        public List getRealModuleRevisionIds() {
+        public List<ModuleRevisionId> getRealModuleRevisionIds() {
             return realMrids;
         }
 
@@ -291,7 +282,7 @@ public class XmlReportParser {
         }
 
         public MetadataArtifactDownloadReport getMetadataArtifactReport(ModuleRevisionId id) {
-            return (MetadataArtifactDownloadReport) metadataReports.get(id);
+            return metadataReports.get(id);
         }
     }