Be less dependent on implemntation used by ant

git-svn-id: https://svn.apache.org/repos/asf/ant/easyant/core/trunk@1531690 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/easyant/core/ant/helper/EasyAntProjectHelper.java b/src/main/java/org/apache/easyant/core/ant/helper/EasyAntProjectHelper.java
index 105c5e4..543d75f 100644
--- a/src/main/java/org/apache/easyant/core/ant/helper/EasyAntProjectHelper.java
+++ b/src/main/java/org/apache/easyant/core/ant/helper/EasyAntProjectHelper.java
@@ -17,8 +17,8 @@
  */
 package org.apache.easyant.core.ant.helper;
 
-import java.util.Hashtable;
 import java.util.Iterator;
+import java.util.Map;
 
 import org.apache.easyant.core.ant.Phase;
 import org.apache.easyant.core.ant.ProjectUtils;
@@ -197,7 +197,7 @@
             if (context.getCurrentTargets().get(name) != null) {
                 throw new BuildException("Duplicate target '" + name + "'", target.getLocation());
             }
-            Hashtable projectTargets = project.getTargets();
+            Map<String, Target> projectTargets = project.getTargets();
             boolean usedTarget = false;
             // If the name has not already been defined define it
             if (projectTargets.containsKey(name)) {
@@ -213,8 +213,9 @@
                 if (!isInIncludeMode) {
                     target.setDepends(depends);
                 } else {
-                    for (Iterator iter = Target.parseDepends(depends, name, "depends").iterator(); iter.hasNext();) {
-                        String curTarget = (String) iter.next();
+                    for (Iterator<String> iter = Target.parseDepends(depends, name, "depends").iterator(); iter
+                            .hasNext();) {
+                        String curTarget = iter.next();
                         if (projectTargets.containsKey(curTarget) && (projectTargets.get(curTarget) instanceof Phase)) {
 
                             target.addDependency(curTarget);
diff --git a/src/main/java/org/apache/easyant/tasks/SubModule.java b/src/main/java/org/apache/easyant/tasks/SubModule.java
index eeecdf4..a923d32 100644
--- a/src/main/java/org/apache/easyant/tasks/SubModule.java
+++ b/src/main/java/org/apache/easyant/tasks/SubModule.java
@@ -21,11 +21,11 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
-import java.util.Enumeration;
 import java.util.HashSet;
-import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.Vector;
 
@@ -367,21 +367,20 @@
      * new project as well as properties named basedir or ant.file.
      * 
      * @param props
-     *            properties <code>Hashtable</code> to copy to the new project.
+     *            properties to copy to the new project.
      * @param the
      *            type of property to set (a plain Ant property, a user property or an inherited property).
      * @since Ant 1.8.0
      */
-    private void addAlmostAll(Hashtable<?, ?> props, Project subProject, PropertyType type) {
-        Enumeration<?> e = props.keys();
-        while (e.hasMoreElements()) {
-            String key = e.nextElement().toString();
+    private void addAlmostAll(Map<?, ?> props, Project subProject, PropertyType type) {
+        for (Entry<?, ?> prop : props.entrySet()) {
+            String key = prop.getKey().toString();
             if (MagicNames.PROJECT_BASEDIR.equals(key) || MagicNames.ANT_FILE.equals(key)) {
                 // basedir and ant.file get special treatment in execute()
                 continue;
             }
 
-            String value = props.get(key).toString();
+            String value = prop.getValue().toString();
             if (type == PropertyType.PLAIN) {
                 // don't re-set user properties, avoid the warning message
                 if (subProject.getProperty(key) == null) {
@@ -588,9 +587,9 @@
      *             if a reference does not have a refid.
      */
     private void addReferences(Project subproject) throws BuildException {
-        Hashtable<?, ?> thisReferences = (Hashtable<?, ?>) getProject().getReferences().clone();
-        Hashtable<?, ?> newReferences = subproject.getReferences();
-        Enumeration<?> e;
+        @SuppressWarnings("unchecked")
+        Map<String, Object> thisReferences = (Map<String, Object>) getProject().getReferences().clone();
+        Map<String, Object> newReferences = subproject.getReferences();
         for (Ant.Reference ref : references) {
             String refid = ref.getRefId();
             if (refid == null) {
@@ -612,8 +611,7 @@
         // Now add all references that are not defined in the
         // subproject, if inheritRefs is true
         if (inheritRefs) {
-            for (e = thisReferences.keys(); e.hasMoreElements();) {
-                String key = (String) e.nextElement();
+            for (String key : thisReferences.keySet()) {
                 if (newReferences.containsKey(key)) {
                     continue;
                 }