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 2013/12/28 17:54:24 UTC

svn commit: r1553872 [1/3] - in /ant/ivy/core/trunk: src/java/org/apache/ivy/ant/ src/java/org/apache/ivy/osgi/core/ src/java/org/apache/ivy/osgi/obr/filter/ src/java/org/apache/ivy/osgi/obr/xml/ src/java/org/apache/ivy/osgi/p2/ src/java/org/apache/ivy...

Author: hibou
Date: Sat Dec 28 16:54:23 2013
New Revision: 1553872

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

Added:
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/EditableRepoDescriptor.java   (with props)
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/util/DelegatingHandler.java
      - copied, changed from r1553741, ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/util/DelegetingHandler.java
Removed:
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/util/DelegetingHandler.java
Modified:
    ant/ivy/core/trunk/src/java/org/apache/ivy/ant/BuildOBRTask.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ExportPackage.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderElement.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderValue.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/OsgiLatestStrategy.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/filter/MultiOperatorFilter.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/CapabilityAdapter.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLWriter.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/RequirementAdapter.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2ArtifactParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2CompositeParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2Descriptor.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2MetadataParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/PropertiesParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/AbstractFSManifestIterable.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/AbstractOSGiResolver.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/ArtifactReportManifestIterable.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/BundleRepoDescriptor.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/FSManifestIterable.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/ModuleDescriptorWrapper.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/RelativeURLRepository.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/RepoDescriptor.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/RepositoryManifestIterable.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/repo/ResolverManifestIterable.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/updatesite/PluginAdapter.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/updatesite/UpdateSiteDescriptor.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/updatesite/UpdateSiteLoader.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/updatesite/xml/EclipseFeature.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/updatesite/xml/EclipseUpdateSiteParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/updatesite/xml/FeatureParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/updatesite/xml/UpdateSite.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/updatesite/xml/UpdateSiteDigestParser.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/util/ParseUtil.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/util/Version.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/util/VersionComparator.java
    ant/ivy/core/trunk/test/java/org/apache/ivy/osgi/repo/BundleRepoTest.java

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/BuildOBRTask.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/BuildOBRTask.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/BuildOBRTask.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/BuildOBRTask.java Sat Dec 28 16:54:23 2013
@@ -35,6 +35,7 @@ import org.apache.ivy.core.settings.IvyS
 import org.apache.ivy.osgi.obr.xml.OBRXMLWriter;
 import org.apache.ivy.osgi.repo.ArtifactReportManifestIterable;
 import org.apache.ivy.osgi.repo.FSManifestIterable;
+import org.apache.ivy.osgi.repo.ManifestAndLocation;
 import org.apache.ivy.osgi.repo.ResolverManifestIterable;
 import org.apache.ivy.plugins.resolver.BasicResolver;
 import org.apache.ivy.plugins.resolver.DependencyResolver;
@@ -98,7 +99,7 @@ public class BuildOBRTask extends IvyCac
             throw new BuildException("No output file specified: use the attribute 'out'");
         }
 
-        Iterator/* <ManifestAndLocation> */it;
+        Iterable<ManifestAndLocation> it;
         if (resolverName != null) {
             if (baseDir != null) {
                 throw new BuildException("specify only one of 'resolver' or 'baseDir'");
@@ -116,7 +117,7 @@ public class BuildOBRTask extends IvyCac
                 throw new BuildException("the type of resolver '"
                         + resolver.getClass().getName() + "' is not supported.");
             }
-            it = new ResolverManifestIterable((BasicResolver) resolver).iterator();
+            it = new ResolverManifestIterable((BasicResolver) resolver);
         } else if (baseDir != null) {
             if (cacheName != null) {
                 throw new BuildException("specify only one of 'baseDir' or 'cache'");
@@ -124,7 +125,7 @@ public class BuildOBRTask extends IvyCac
             if (!baseDir.isDirectory()) {
                 throw new BuildException(baseDir + " is not a directory");
             }
-            it = new FSManifestIterable(baseDir).iterator();
+            it = new FSManifestIterable(baseDir);
         } else if (cacheName != null) {
             Ivy ivy = getIvyInstance();
             RepositoryCacheManager cacheManager = ivy.getSettings().getRepositoryCacheManager(
@@ -134,11 +135,11 @@ public class BuildOBRTask extends IvyCac
                         + cacheManager.getClass().getName() + "' is not supported.");
             }
             File basedir = ((DefaultRepositoryCacheManager) cacheManager).getBasedir();
-            it = new FSManifestIterable(basedir).iterator();
+            it = new FSManifestIterable(basedir);
         } else {
             prepareAndCheck();
             try {
-                it = new ArtifactReportManifestIterable(getArtifactReports()).iterator();
+                it = new ArtifactReportManifestIterable(getArtifactReports());
             } catch (ParseException e) {
                 throw new BuildException("Impossible to parse the artifact reports: "
                         + e.getMessage(), e);

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java Sat Dec 28 16:54:23 2013
@@ -25,7 +25,6 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -75,15 +74,17 @@ public class BundleInfoAdapter {
      *            uri to help build the absolute url if the bundle info has a relative uri.
      * @param bundle
      * @param profileProvider
-     * @param parser 
+     * @param parser
      * @return
      * @throws ProfileNotFoundException
      */
-    public static DefaultModuleDescriptor toModuleDescriptor(ModuleDescriptorParser parser, URI baseUri, BundleInfo bundle,
-            ExecutionEnvironmentProfileProvider profileProvider) throws ProfileNotFoundException {
+    public static DefaultModuleDescriptor toModuleDescriptor(ModuleDescriptorParser parser,
+            URI baseUri, BundleInfo bundle, ExecutionEnvironmentProfileProvider profileProvider)
+            throws ProfileNotFoundException {
         DefaultModuleDescriptor md = new DefaultModuleDescriptor(parser, null);
         md.addExtraAttributeNamespace("o", Ivy.getIvyHomeURL() + "osgi");
-        ModuleRevisionId mrid = asMrid(BundleInfo.BUNDLE_TYPE, bundle.getSymbolicName(), bundle.getVersion());
+        ModuleRevisionId mrid = asMrid(BundleInfo.BUNDLE_TYPE, bundle.getSymbolicName(),
+            bundle.getVersion());
         md.setResolvedPublicationDate(new Date());
         md.setModuleRevisionId(mrid);
 
@@ -91,18 +92,14 @@ public class BundleInfoAdapter {
         md.addConfiguration(CONF_OPTIONAL);
         md.addConfiguration(CONF_TRANSITIVE_OPTIONAL);
 
-        Set/* <String> */exportedPkgNames = new HashSet/* <String> */(bundle.getExports().size());
-        Iterator itExport = bundle.getExports().iterator();
-        while (itExport.hasNext()) {
-            ExportPackage exportPackage = (ExportPackage) itExport.next();
+        Set<String> exportedPkgNames = new HashSet<String>(bundle.getExports().size());
+        for (ExportPackage exportPackage : bundle.getExports()) {
             md.getExtraInfo().put(EXTRA_INFO_EXPORT_PREFIX + exportPackage.getName(),
                 exportPackage.getVersion().toString());
             exportedPkgNames.add(exportPackage.getName());
             String[] confDependencies = new String[exportPackage.getUses().size() + 1];
             int i = 0;
-            Iterator itUse = exportPackage.getUses().iterator();
-            while (itUse.hasNext()) {
-                String use = (String) itUse.next();
+            for (String use : exportPackage.getUses()) {
                 confDependencies[i++] = CONF_USE_PREFIX + use;
             }
             confDependencies[i] = CONF_NAME_DEFAULT;
@@ -131,19 +128,15 @@ public class BundleInfoAdapter {
         }
 
         if (profileProvider != null) {
-            Iterator itEnv = bundle.getExecutionEnvironments().iterator();
-            while (itEnv.hasNext()) {
-                String env = (String) itEnv.next();
+            for (String env : bundle.getExecutionEnvironments()) {
                 ExecutionEnvironmentProfile profile = profileProvider.getProfile(env);
                 if (profile == null) {
                     throw new ProfileNotFoundException("Execution environment profile " + env
                             + " not found");
                 }
-                Iterator itPkg = profile.getPkgNames().iterator();
-                while (itPkg.hasNext()) {
-                    String pkg = (String) itPkg.next();
-                    ArtifactId id = new ArtifactId(ModuleId.newInstance(BundleInfo.PACKAGE_TYPE, pkg),
-                            PatternMatcher.ANY_EXPRESSION, PatternMatcher.ANY_EXPRESSION,
+                for (String pkg : profile.getPkgNames()) {
+                    ArtifactId id = new ArtifactId(ModuleId.newInstance(BundleInfo.PACKAGE_TYPE,
+                        pkg), PatternMatcher.ANY_EXPRESSION, PatternMatcher.ANY_EXPRESSION,
                             PatternMatcher.ANY_EXPRESSION);
                     DefaultExcludeRule rule = new DefaultExcludeRule(id,
                             ExactOrRegexpPatternMatcher.INSTANCE, null);
@@ -159,7 +152,8 @@ public class BundleInfoAdapter {
         return md;
     }
 
-    public static DefaultArtifact buildArtifact(ModuleRevisionId mrid, URI baseUri, URI uri, String type, String compression) {
+    public static DefaultArtifact buildArtifact(ModuleRevisionId mrid, URI baseUri, URI uri,
+            String type, String compression) {
         DefaultArtifact artifact;
         if ("ivy".equals(uri.getScheme())) {
             artifact = decodeIvyURI(uri);
@@ -167,7 +161,7 @@ public class BundleInfoAdapter {
             if (!uri.isAbsolute()) {
                 uri = baseUri.resolve(uri);
             }
-            Map extraAtt = new HashMap();
+            Map<String, String> extraAtt = new HashMap<String, String>();
             if (compression != null) {
                 extraAtt.put("compression", compression);
             }
@@ -181,15 +175,13 @@ public class BundleInfoAdapter {
         return artifact;
     }
 
-    public static List/*<String>*/ getConfigurations(BundleInfo bundle) {
-        List/*<String>*/ confs = new ArrayList();
-        confs.add(CONF_DEFAULT);
-        confs.add(CONF_OPTIONAL);
-        confs.add(CONF_TRANSITIVE_OPTIONAL);
-
-        Iterator itExport = bundle.getExports().iterator();
-        while (itExport.hasNext()) {
-            ExportPackage exportPackage = (ExportPackage) itExport.next();
+    public static List<String> getConfigurations(BundleInfo bundle) {
+        List<String> confs = new ArrayList<String>();
+        confs.add(CONF_NAME_DEFAULT);
+        confs.add(CONF_NAME_OPTIONAL);
+        confs.add(CONF_NAME_TRANSITIVE_OPTIONAL);
+
+        for (ExportPackage exportPackage : bundle.getExports()) {
             confs.add(CONF_USE_PREFIX + exportPackage.getName());
         }
 
@@ -248,7 +240,8 @@ public class BundleInfoAdapter {
 
         String path = uri.getPath();
         if (!path.startsWith("/")) {
-            throw new IllegalArgumentException("An ivy url should be of the form ivy:///org/module but was : " + uri);
+            throw new IllegalArgumentException(
+                    "An ivy url should be of the form ivy:///org/module but was : " + uri);
         }
         int i = path.indexOf('/', 1);
         if (i < 0) {
@@ -289,10 +282,8 @@ public class BundleInfoAdapter {
     }
 
     private static void requirementAsDependency(DefaultModuleDescriptor md, BundleInfo bundleInfo,
-            Set/* <String> */exportedPkgNames) {
-        Iterator itReq = bundleInfo.getRequirements().iterator();
-        while (itReq.hasNext()) {
-            BundleRequirement requirement = (BundleRequirement) itReq.next();
+            Set<String> exportedPkgNames) {
+        for (BundleRequirement requirement : bundleInfo.getRequirements()) {
             String type = requirement.getType();
             String name = requirement.getName();
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ExportPackage.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ExportPackage.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ExportPackage.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ExportPackage.java Sat Dec 28 16:54:23 2013
@@ -24,7 +24,7 @@ import org.apache.ivy.osgi.util.Version;
 
 public class ExportPackage extends BundleCapability {
 
-    private final Set/* <String> */uses = new HashSet/* <String> */();
+    private final Set<String> uses = new HashSet<String>();
 
     public ExportPackage(String name, Version version) {
         super(BundleInfo.PACKAGE_TYPE, name, version);
@@ -38,7 +38,7 @@ public class ExportPackage extends Bundl
         return super.getVersion() == null ? BundleInfo.DEFAULT_VERSION : super.getVersion();
     }
 
-    public Set/* <String> */getUses() {
+    public Set<String> getUses() {
         return uses;
     }
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderElement.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderElement.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderElement.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderElement.java Sat Dec 28 16:54:23 2013
@@ -25,13 +25,13 @@ import java.util.Map;
 import java.util.Map.Entry;
 
 public class ManifestHeaderElement {
-    private List/* <String> */values = new ArrayList/* <String> */();
+    private List<String> values = new ArrayList<String>();
 
-    private Map/* <String, String> */attributes = new HashMap/* <String, String> */();
+    private Map<String, String> attributes = new HashMap<String, String>();
 
-    private Map/* <String, String> */directives = new HashMap/* <String, String> */();
+    private Map<String, String> directives = new HashMap<String, String>();
 
-    public List/* <String> */getValues() {
+    public List<String> getValues() {
         return values;
     }
 
@@ -39,7 +39,7 @@ public class ManifestHeaderElement {
         values.add(value);
     }
 
-    public Map/* <String, String> */getAttributes() {
+    public Map<String, String> getAttributes() {
         return attributes;
     }
 
@@ -47,7 +47,7 @@ public class ManifestHeaderElement {
         attributes.put(name, value);
     }
 
-    public Map/* <String, String> */getDirectives() {
+    public Map<String, String> getDirectives() {
         return directives;
     }
 
@@ -63,9 +63,7 @@ public class ManifestHeaderElement {
         if (other.values.size() != values.size()) {
             return false;
         }
-        Iterator itValues = values.iterator();
-        while (itValues.hasNext()) {
-            String value = (String) itValues.next();
+        for (String value : values) {
             if (!other.values.contains(value)) {
                 return false;
             }
@@ -73,9 +71,7 @@ public class ManifestHeaderElement {
         if (other.directives.size() != directives.size()) {
             return false;
         }
-        Iterator itDirectives = directives.entrySet().iterator();
-        while (itDirectives.hasNext()) {
-            Entry/* <String, String> */directive = (Entry) itDirectives.next();
+        for (Entry<String, String> directive : directives.entrySet()) {
             if (!directive.getValue().equals(other.directives.get(directive.getKey()))) {
                 return false;
             }
@@ -83,9 +79,7 @@ public class ManifestHeaderElement {
         if (other.attributes.size() != attributes.size()) {
             return false;
         }
-        Iterator itAttributes = attributes.entrySet().iterator();
-        while (itAttributes.hasNext()) {
-            Entry/* <String, String> */attribute = (Entry) itAttributes.next();
+        for (Entry<String, String> attribute : attributes.entrySet()) {
             if (!attribute.getValue().equals(other.attributes.get(attribute.getKey()))) {
                 return false;
             }
@@ -95,24 +89,20 @@ public class ManifestHeaderElement {
 
     public String toString() {
         String string = "";
-        Iterator/* <String> */itValues = values.iterator();
+        Iterator<String> itValues = values.iterator();
         while (itValues.hasNext()) {
             string = string.concat((String) itValues.next());
             if (itValues.hasNext()) {
                 string = string.concat(";");
             }
         }
-        Iterator itDirectives = directives.entrySet().iterator();
-        while (itDirectives.hasNext()) {
-            Entry/* <String, String> */directive = (Entry) itDirectives.next();
+        for (Entry<String, String> directive : directives.entrySet()) {
             string = string.concat(";");
             string = string.concat((String) directive.getKey());
             string = string.concat(":=");
             string = string.concat((String) directive.getValue());
         }
-        Iterator itAttributes = attributes.entrySet().iterator();
-        while (itAttributes.hasNext()) {
-            Entry/* <String, String> */attribute = (Entry) itAttributes.next();
+        for (Entry<String, String> attribute : attributes.entrySet()) {
             string = string.concat(";");
             string = string.concat((String) attribute.getKey());
             string = string.concat("=");

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderValue.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderValue.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderValue.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestHeaderValue.java Sat Dec 28 16:54:23 2013
@@ -40,7 +40,7 @@ import java.util.List;
  */
 public class ManifestHeaderValue {
 
-    private List/* <ManifestHeaderElement> */elements = new ArrayList/* <ManifestHeaderElement> */();
+    private List<ManifestHeaderElement> elements = new ArrayList<ManifestHeaderElement>();
 
     ManifestHeaderValue() {
         // just for unit testing
@@ -52,7 +52,7 @@ public class ManifestHeaderValue {
         }
     }
 
-    public List/* <ManifestHeaderElement> */getElements() {
+    public List<ManifestHeaderElement> getElements() {
         return elements;
     }
 
@@ -60,22 +60,19 @@ public class ManifestHeaderValue {
         if (elements.isEmpty()) {
             return null;
         }
-        List/* <String> */values = ((ManifestHeaderElement) getElements().iterator().next())
-                .getValues();
+        List<String> values = getElements().iterator().next().getValues();
         if (values.isEmpty()) {
             return null;
         }
-        return (String) values.iterator().next();
+        return values.iterator().next();
     }
 
-    public List/* <String> */getValues() {
+    public List<String> getValues() {
         if (elements.isEmpty()) {
-            return Collections.EMPTY_LIST;
+            return Collections.emptyList();
         }
-        List/* <String> */list = new ArrayList/* <String> */();
-        Iterator itElements = getElements().iterator();
-        while (itElements.hasNext()) {
-            ManifestHeaderElement element = (ManifestHeaderElement) itElements.next();
+        List<String> list = new ArrayList<String>();
+        for (ManifestHeaderElement element : getElements()) {
             list.addAll(element.getValues());
         }
         return list;
@@ -388,9 +385,7 @@ public class ManifestHeaderValue {
         if (other.elements.size() != elements.size()) {
             return false;
         }
-        Iterator itElements = elements.iterator();
-        while (itElements.hasNext()) {
-            ManifestHeaderElement element = (ManifestHeaderElement) itElements.next();
+        for (ManifestHeaderElement element : elements) {
             if (!other.elements.contains(element)) {
                 return false;
             }
@@ -400,7 +395,7 @@ public class ManifestHeaderValue {
 
     public String toString() {
         String string = "";
-        Iterator/* <ManifestHeaderElement> */it = elements.iterator();
+        Iterator<ManifestHeaderElement> it = elements.iterator();
         while (it.hasNext()) {
             string = string.concat(it.next().toString());
             if (it.hasNext()) {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestParser.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/ManifestParser.java Sat Dec 28 16:54:23 2013
@@ -23,7 +23,6 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.text.ParseException;
-import java.util.Iterator;
 import java.util.List;
 import java.util.jar.Attributes;
 import java.util.jar.JarInputStream;
@@ -138,7 +137,7 @@ public class ManifestParser {
 
         bundleInfo.setDescription(description);
 
-        List/* <String> */environments = new ManifestHeaderValue(
+        List<String> environments = new ManifestHeaderValue(
                 mainAttributes.getValue(BUNDLE_REQUIRED_EXECUTION_ENVIRONMENT)).getValues();
         bundleInfo.setExecutionEnvironments(environments);
 
@@ -151,9 +150,7 @@ public class ManifestParser {
 
         ManifestHeaderValue exportElements = new ManifestHeaderValue(
                 mainAttributes.getValue(EXPORT_PACKAGE));
-        Iterator itExports = exportElements.getElements().iterator();
-        while (itExports.hasNext()) {
-            ManifestHeaderElement exportElement = (ManifestHeaderElement) itExports.next();
+        for (ManifestHeaderElement exportElement : exportElements.getElements()) {
             String vExport = (String) exportElement.getAttributes().get(ATTR_VERSION);
             Version v = null;
             try {
@@ -163,9 +160,7 @@ public class ManifestParser {
                         + vExport + " (" + e.getMessage() + ")", 0);
             }
 
-            Iterator itNames = exportElement.getValues().iterator();
-            while (itNames.hasNext()) {
-                String name = (String) itNames.next();
+            for (String name : exportElement.getValues()) {
                 ExportPackage export = new ExportPackage(name, v);
                 String uses = (String) exportElement.getDirectives().get(ATTR_USE);
                 if (uses != null) {
@@ -208,11 +203,9 @@ public class ManifestParser {
     private static void parseRequirement(BundleInfo bundleInfo, Attributes mainAttributes,
             String headerName, String type, String versionAttr) throws ParseException {
         ManifestHeaderValue elements = new ManifestHeaderValue(mainAttributes.getValue(headerName));
-        Iterator itElement = elements.getElements().iterator();
-        while (itElement.hasNext()) {
-            ManifestHeaderElement element = (ManifestHeaderElement) itElement.next();
-            String resolution = (String) element.getDirectives().get(ATTR_RESOLUTION);
-            String attVersion = (String) element.getAttributes().get(versionAttr);
+        for (ManifestHeaderElement element : elements.getElements()) {
+            String resolution = element.getDirectives().get(ATTR_RESOLUTION);
+            String attVersion = element.getAttributes().get(versionAttr);
             VersionRange version = null;
             try {
                 version = versionRangeOf(attVersion);
@@ -221,9 +214,7 @@ public class ManifestParser {
                         + attVersion + " (" + e.getMessage() + ")", 0);
             }
 
-            Iterator itNames = element.getValues().iterator();
-            while (itNames.hasNext()) {
-                String name = (String) itNames.next();
+            for (String name : element.getValues()) {
                 bundleInfo.addRequirement(new BundleRequirement(type, name, version, resolution));
             }
         }
@@ -232,9 +223,7 @@ public class ManifestParser {
     private static void parseCapability(BundleInfo bundleInfo, Attributes mainAttributes,
             String headerName, String type) throws ParseException {
         ManifestHeaderValue elements = new ManifestHeaderValue(mainAttributes.getValue(headerName));
-        Iterator itElement = elements.getElements().iterator();
-        while (itElement.hasNext()) {
-            ManifestHeaderElement element = (ManifestHeaderElement) itElement.next();
+        for (ManifestHeaderElement element : elements.getElements()) {
             String attVersion = (String) element.getAttributes().get(ATTR_VERSION);
             Version version = null;
             try {
@@ -244,9 +233,7 @@ public class ManifestParser {
                         + attVersion + " (" + e.getMessage() + ")", 0);
             }
 
-            Iterator itNames = element.getValues().iterator();
-            while (itNames.hasNext()) {
-                String name = (String) itNames.next();
+            for (String name : element.getValues()) {
                 BundleCapability export = new BundleCapability(type, name, version);
                 bundleInfo.addCapability(export);
             }

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/OsgiLatestStrategy.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/OsgiLatestStrategy.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/OsgiLatestStrategy.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/OsgiLatestStrategy.java Sat Dec 28 16:54:23 2013
@@ -29,11 +29,7 @@ import org.apache.ivy.plugins.version.Ve
 
 public class OsgiLatestStrategy extends ComparatorLatestStrategy {
 
-    final class MridComparator implements Comparator/* <ModuleRevisionId> */{
-
-        public int compare(Object o1, Object o2) {
-            return compare((ModuleRevisionId) o1, (ModuleRevisionId) o2);
-        }
+    final class MridComparator implements Comparator<ModuleRevisionId> {
 
         public int compare(ModuleRevisionId o1, ModuleRevisionId o2) {
             Version v1;
@@ -49,8 +45,8 @@ public class OsgiLatestStrategy extends 
                 return v1.compareTo(v2);
             } catch (RuntimeException e) {
                 if (e.getCause() instanceof ParseException) {
-                    throw new RuntimeException("Uncomparable versions:" + o1.getRevision() + " and "
-                            + o2.getRevision() + " (" + e.getMessage() + ")");
+                    throw new RuntimeException("Uncomparable versions:" + o1.getRevision()
+                            + " and " + o2.getRevision() + " (" + e.getMessage() + ")");
                 }
                 throw e;
             }
@@ -58,11 +54,7 @@ public class OsgiLatestStrategy extends 
 
     }
 
-    final class ArtifactInfoComparator implements Comparator/* <ArtifactInfo> */{
-
-        public int compare(Object o1, Object o2) {
-            return compare((ArtifactInfo) o1, (ArtifactInfo) o2);
-        }
+    final class ArtifactInfoComparator implements Comparator<ArtifactInfo> {
 
         public int compare(ArtifactInfo o1, ArtifactInfo o2) {
             String rev1 = o1.getRevision();
@@ -79,7 +71,7 @@ public class OsgiLatestStrategy extends 
             VersionMatcher vmatcher = IvyContext.getContext().getSettings().getVersionMatcher();
             ModuleRevisionId mrid1 = ModuleRevisionId.newInstance("", "", rev1);
             ModuleRevisionId mrid2 = ModuleRevisionId.newInstance("", "", rev2);
-            
+
             if (vmatcher.isDynamic(mrid1)) {
                 int c = vmatcher.compare(mrid1, mrid2, mridComparator);
                 return c >= 0 ? 1 : -1;
@@ -92,9 +84,9 @@ public class OsgiLatestStrategy extends 
         }
     }
 
-    private final Comparator/* <ModuleRevisionId> */mridComparator = new MridComparator();
+    private final Comparator<ModuleRevisionId> mridComparator = new MridComparator();
 
-    private final Comparator/* <ArtifactInfo> */artifactInfoComparator = new ArtifactInfoComparator();
+    private final Comparator<ArtifactInfo> artifactInfoComparator = new ArtifactInfoComparator();
 
     public OsgiLatestStrategy() {
         setComparator(artifactInfoComparator);

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/filter/MultiOperatorFilter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/filter/MultiOperatorFilter.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/filter/MultiOperatorFilter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/filter/MultiOperatorFilter.java Sat Dec 28 16:54:23 2013
@@ -18,14 +18,13 @@
 package org.apache.ivy.osgi.obr.filter;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import org.apache.ivy.osgi.obr.xml.RequirementFilter;
 
 public abstract class MultiOperatorFilter extends RequirementFilter {
 
-    private List/* <RequirementFilter> */subFilters = new ArrayList/* <RequirementFilter> */();
+    private List<RequirementFilter> subFilters = new ArrayList<RequirementFilter>();
 
     public MultiOperatorFilter() {
         // default constructor
@@ -43,9 +42,7 @@ public abstract class MultiOperatorFilte
     public void append(StringBuffer builder) {
         builder.append('(');
         builder.append(operator());
-        Iterator itSubFilters = subFilters.iterator();
-        while (itSubFilters.hasNext()) {
-            RequirementFilter filter = (RequirementFilter) itSubFilters.next();
+        for (RequirementFilter filter : subFilters) {
             filter.append(builder);
         }
         builder.append(')');
@@ -55,16 +52,14 @@ public abstract class MultiOperatorFilte
         subFilters.add(subFilter2);
     }
 
-    public List/* <RequirementFilter> */getSubFilters() {
+    public List<RequirementFilter> getSubFilters() {
         return subFilters;
     }
 
     public int hashCode() {
         final int prime = 31;
         int result = 1;
-        Iterator itSubFilters = subFilters.iterator();
-        while (itSubFilters.hasNext()) {
-            RequirementFilter subFilter = (RequirementFilter) itSubFilters.next();
+        for (RequirementFilter subFilter : subFilters) {
             result = prime * result + ((subFilter == null) ? 0 : subFilter.hashCode());
         }
         return result;

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/CapabilityAdapter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/CapabilityAdapter.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/CapabilityAdapter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/CapabilityAdapter.java Sat Dec 28 16:54:23 2013
@@ -18,7 +18,6 @@
 package org.apache.ivy.osgi.obr.xml;
 
 import java.text.ParseException;
-import java.util.Iterator;
 
 import org.apache.ivy.osgi.core.BundleCapability;
 import org.apache.ivy.osgi.core.BundleInfo;
@@ -49,9 +48,7 @@ public class CapabilityAdapter {
         String pkgName = null;
         Version version = null;
         String uses = null;
-        Iterator itCapability = capability.getProperties().iterator();
-        while (itCapability.hasNext()) {
-            CapabilityProperty property = (CapabilityProperty) itCapability.next();
+        for (CapabilityProperty property : capability.getProperties()) {
             String propName = property.getName();
             if ("package".equals(propName)) {
                 pkgName = property.getValue();
@@ -84,9 +81,7 @@ public class CapabilityAdapter {
         String name = null;
         Version version = null;
 
-        Iterator itCapability = capability.getProperties().iterator();
-        while (itCapability.hasNext()) {
-            CapabilityProperty property = (CapabilityProperty) itCapability.next();
+        for (CapabilityProperty property : capability.getProperties()) {
             String propName = property.getName();
             if ("service".equals(propName)) {
                 name = property.getValue();

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLParser.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLParser.java Sat Dec 28 16:54:23 2013
@@ -29,7 +29,7 @@ import org.apache.ivy.osgi.core.BundleIn
 import org.apache.ivy.osgi.core.ExecutionEnvironmentProfileProvider;
 import org.apache.ivy.osgi.obr.filter.RequirementFilterParser;
 import org.apache.ivy.osgi.repo.BundleRepoDescriptor;
-import org.apache.ivy.osgi.util.DelegetingHandler;
+import org.apache.ivy.osgi.util.DelegatingHandler;
 import org.apache.ivy.osgi.util.Version;
 import org.apache.ivy.util.Message;
 import org.apache.ivy.util.XMLHelper;
@@ -50,7 +50,7 @@ public class OBRXMLParser {
         return handler.repo;
     }
 
-    static class RepositoryHandler extends DelegetingHandler {
+    static class RepositoryHandler extends DelegatingHandler {
 
         static final String REPOSITORY = "repository";
 
@@ -65,9 +65,9 @@ public class OBRXMLParser {
         public RepositoryHandler(URI baseUri) {
             super(REPOSITORY);
             this.baseUri = baseUri;
-            addChild(new ResourceHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    repo.addBundle(((ResourceHandler) child).bundleInfo);
+            addChild(new ResourceHandler(), new ChildElementHandler<ResourceHandler>() {
+                public void childHanlded(ResourceHandler child) {
+                    repo.addBundle(child.bundleInfo);
                 }
             });
         }
@@ -82,7 +82,7 @@ public class OBRXMLParser {
         }
     }
 
-    static class ResourceHandler extends DelegetingHandler {
+    static class ResourceHandler extends DelegatingHandler {
 
         private static final String DEFAULT_VERSION = "1.0.0";
 
@@ -106,8 +106,8 @@ public class OBRXMLParser {
             setSkipOnError(true); // if anything bad happen in any children, just ignore the
                                   // resource
 
-            addChild(new ResourceSourceHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
+            addChild(new ResourceSourceHandler(), new ChildElementHandler<ResourceSourceHandler>() {
+                public void childHanlded(ResourceSourceHandler child) {
                     String uri = child.getBufferedChars().trim();
                     if (!uri.endsWith(".jar")) {
                         // the maven plugin is putting some useless source url sometimes...
@@ -125,23 +125,26 @@ public class OBRXMLParser {
                     }
                 }
             });
-            addChild(new ResourceDescriptionHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    bundleInfo.setDescription(child.getBufferedChars().trim());
-                }
-            });
-            addChild(new ResourceDocumentationHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    bundleInfo.setDocumentation(child.getBufferedChars().trim());
-                }
-            });
-            addChild(new ResourceLicenseHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    bundleInfo.setLicense(child.getBufferedChars().trim());
-                }
-            });
-            addChild(new ResourceSizeHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
+            addChild(new ResourceDescriptionHandler(),
+                new ChildElementHandler<ResourceDescriptionHandler>() {
+                    public void childHanlded(ResourceDescriptionHandler child) {
+                        bundleInfo.setDescription(child.getBufferedChars().trim());
+                    }
+                });
+            addChild(new ResourceDocumentationHandler(),
+                new ChildElementHandler<ResourceDocumentationHandler>() {
+                    public void childHanlded(ResourceDocumentationHandler child) {
+                        bundleInfo.setDocumentation(child.getBufferedChars().trim());
+                    }
+                });
+            addChild(new ResourceLicenseHandler(),
+                new ChildElementHandler<ResourceLicenseHandler>() {
+                    public void childHanlded(ResourceLicenseHandler child) {
+                        bundleInfo.setLicense(child.getBufferedChars().trim());
+                    }
+                });
+            addChild(new ResourceSizeHandler(), new ChildElementHandler<ResourceSizeHandler>() {
+                public void childHanlded(ResourceSizeHandler child) {
                     String size = child.getBufferedChars().trim();
                     try {
                         bundleInfo.setSize(Integer.valueOf(size));
@@ -152,21 +155,21 @@ public class OBRXMLParser {
                     }
                 }
             });
-            addChild(new CapabilityHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) throws SAXParseException {
+            addChild(new CapabilityHandler(), new ChildElementHandler<CapabilityHandler>() {
+                public void childHanlded(CapabilityHandler child) throws SAXParseException {
 
                     try {
-                        CapabilityAdapter.adapt(bundleInfo, ((CapabilityHandler) child).capability);
+                        CapabilityAdapter.adapt(bundleInfo, child.capability);
                     } catch (ParseException e) {
                         throw new SAXParseException("Invalid capability: " + e.getMessage(), child
                                 .getLocator());
                     }
                 }
             });
-            addChild(new RequireHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) throws SAXParseException {
+            addChild(new RequireHandler(), new ChildElementHandler<RequireHandler>() {
+                public void childHanlded(RequireHandler child) throws SAXParseException {
                     try {
-                        RequirementAdapter.adapt(bundleInfo, ((RequireHandler) child).requirement);
+                        RequirementAdapter.adapt(bundleInfo, child.requirement);
                     } catch (UnsupportedFilterException e) {
                         throw new SAXParseException("Unsupported requirement filter: "
                                 + ((RequireHandler) child).filter + " (" + e.getMessage() + ")",
@@ -178,8 +181,8 @@ public class OBRXMLParser {
                     }
                 }
             });
-            addChild(new ExtendHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) throws SAXParseException {
+            addChild(new ExtendHandler(), new ChildElementHandler<ExtendHandler>() {
+                public void childHanlded(ExtendHandler child) throws SAXParseException {
                     // TODO handle fragment host
                 }
             });
@@ -226,7 +229,7 @@ public class OBRXMLParser {
 
     }
 
-    static class ResourceSourceHandler extends DelegetingHandler {
+    static class ResourceSourceHandler extends DelegatingHandler {
 
         static final String SOURCE = "source";
 
@@ -237,7 +240,7 @@ public class OBRXMLParser {
 
     }
 
-    static class ResourceDescriptionHandler extends DelegetingHandler {
+    static class ResourceDescriptionHandler extends DelegatingHandler {
 
         static final String DESCRIPTION = "description";
 
@@ -248,7 +251,7 @@ public class OBRXMLParser {
 
     }
 
-    static class ResourceDocumentationHandler extends DelegetingHandler {
+    static class ResourceDocumentationHandler extends DelegatingHandler {
 
         static final String DOCUMENTATION = "documentation";
 
@@ -258,7 +261,7 @@ public class OBRXMLParser {
         }
     }
 
-    static class ResourceLicenseHandler extends DelegetingHandler {
+    static class ResourceLicenseHandler extends DelegatingHandler {
 
         static final String LICENSE = "license";
 
@@ -269,7 +272,7 @@ public class OBRXMLParser {
 
     }
 
-    static class ResourceSizeHandler extends DelegetingHandler {
+    static class ResourceSizeHandler extends DelegatingHandler {
 
         static final String SIZE = "size";
 
@@ -279,7 +282,7 @@ public class OBRXMLParser {
         }
     }
 
-    static class CapabilityHandler extends DelegetingHandler {
+    static class CapabilityHandler extends DelegatingHandler {
 
         static final String CAPABILITY = "capability";
 
@@ -289,15 +292,16 @@ public class OBRXMLParser {
 
         public CapabilityHandler() {
             super(CAPABILITY);
-            addChild(new CapabilityPropertyHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    String name = ((CapabilityPropertyHandler) child).name;
-                    String value = ((CapabilityPropertyHandler) child).value;
-                    String type = ((CapabilityPropertyHandler) child).type;
+            addChild(new CapabilityPropertyHandler(),
+                new ChildElementHandler<CapabilityPropertyHandler>() {
+                    public void childHanlded(CapabilityPropertyHandler child) {
+                        String name = child.name;
+                        String value = child.value;
+                        String type = child.type;
 
-                    capability.addProperty(name, value, type);
-                }
-            });
+                        capability.addProperty(name, value, type);
+                    }
+                });
         }
 
         protected void handleAttributes(Attributes atts) throws SAXException {
@@ -307,7 +311,7 @@ public class OBRXMLParser {
 
     }
 
-    static class CapabilityPropertyHandler extends DelegetingHandler {
+    static class CapabilityPropertyHandler extends DelegatingHandler {
 
         static final String CAPABILITY_PROPERTY = "p";
 
@@ -334,7 +338,7 @@ public class OBRXMLParser {
         }
     }
 
-    static class AbstractRequirementHandler extends DelegetingHandler {
+    static class AbstractRequirementHandler extends DelegatingHandler {
 
         static final String NAME = "name";
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLWriter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLWriter.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLWriter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/OBRXMLWriter.java Sat Dec 28 16:54:23 2013
@@ -19,7 +19,6 @@ package org.apache.ivy.osgi.obr.xml;
 
 import java.io.OutputStream;
 import java.text.ParseException;
-import java.util.Iterator;
 import java.util.Set;
 
 import javax.xml.transform.OutputKeys;
@@ -62,7 +61,7 @@ public class OBRXMLWriter {
         return hd;
     }
 
-    public static void writeManifests(Iterator/* <ManifestAndLocation> */it,
+    public static void writeManifests(Iterable<ManifestAndLocation> manifestAndLocations,
             ContentHandler handler, boolean quiet) throws SAXException {
         int level = quiet ? Message.MSG_DEBUG : Message.MSG_WARN;
         handler.startDocument();
@@ -70,8 +69,7 @@ public class OBRXMLWriter {
         handler.startElement("", RepositoryHandler.REPOSITORY, RepositoryHandler.REPOSITORY, atts);
         int nbOk = 0;
         int nbRejected = 0;
-        while (it.hasNext()) {
-            ManifestAndLocation manifestAndLocation = (ManifestAndLocation) it.next();
+        for (ManifestAndLocation manifestAndLocation : manifestAndLocations) {
             BundleInfo bundleInfo;
             try {
                 bundleInfo = ManifestParser.parseManifest(manifestAndLocation.getManifest());
@@ -94,13 +92,12 @@ public class OBRXMLWriter {
                 + (nbRejected > 1 ? "s" : "") + " rejected.");
     }
 
-    public static void writeBundles(Iterator/* <BundleInfo> */it, ContentHandler handler)
+    public static void writeBundles(Iterable<BundleInfo> bundleInfos, ContentHandler handler)
             throws SAXException {
         handler.startDocument();
         AttributesImpl atts = new AttributesImpl();
         handler.startElement("", RepositoryHandler.REPOSITORY, RepositoryHandler.REPOSITORY, atts);
-        while (it.hasNext()) {
-            BundleInfo bundleInfo = (BundleInfo) it.next();
+        for (BundleInfo bundleInfo : bundleInfos) {
             saxBundleInfo(bundleInfo, handler);
         }
         handler.endElement("", RepositoryHandler.REPOSITORY, RepositoryHandler.REPOSITORY);
@@ -116,14 +113,10 @@ public class OBRXMLWriter {
             addAttr(atts, ResourceHandler.URI, bundleInfo.getUri().toString());
         }
         handler.startElement("", ResourceHandler.RESOURCE, ResourceHandler.RESOURCE, atts);
-        Iterator itCapabilities = bundleInfo.getCapabilities().iterator();
-        while (itCapabilities.hasNext()) {
-            BundleCapability capability = (BundleCapability) itCapabilities.next();
+        for (BundleCapability capability : bundleInfo.getCapabilities()) {
             saxCapability(capability, handler);
         }
-        Iterator itRequirement = bundleInfo.getRequirements().iterator();
-        while (itRequirement.hasNext()) {
-            BundleRequirement requirement = (BundleRequirement) itRequirement.next();
+        for (BundleRequirement requirement : bundleInfo.getRequirements()) {
             saxRequirement(requirement, handler);
         }
         handler.endElement("", ResourceHandler.RESOURCE, ResourceHandler.RESOURCE);
@@ -144,12 +137,10 @@ public class OBRXMLWriter {
             if (v != null) {
                 saxCapabilityProperty("version", v.toString(), handler);
             }
-            Set/* <String> */uses = ((ExportPackage) capability).getUses();
+            Set<String> uses = ((ExportPackage) capability).getUses();
             if (uses != null && !uses.isEmpty()) {
                 StringBuffer builder = new StringBuffer();
-                Iterator itUse = uses.iterator();
-                while (itUse.hasNext()) {
-                    String use = (String) itUse.next();
+                for (String use : uses) {
                     if (builder.length() != 0) {
                         builder.append(',');
                     }

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/RequirementAdapter.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/RequirementAdapter.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/RequirementAdapter.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/obr/xml/RequirementAdapter.java Sat Dec 28 16:54:23 2013
@@ -18,7 +18,6 @@
 package org.apache.ivy.osgi.obr.xml;
 
 import java.text.ParseException;
-import java.util.Iterator;
 
 import org.apache.ivy.osgi.core.BundleInfo;
 import org.apache.ivy.osgi.core.BundleRequirement;
@@ -54,9 +53,7 @@ public class RequirementAdapter {
             ParseException {
         if (filter instanceof AndFilter) {
             AndFilter andFilter = (AndFilter) filter;
-            Iterator itFilter = andFilter.getSubFilters().iterator();
-            while (itFilter.hasNext()) {
-                RequirementFilter subFilter = (RequirementFilter) itFilter.next();
+            for (RequirementFilter subFilter : andFilter.getSubFilters()) {
                 extractFilter(subFilter);
             }
         } else if (filter instanceof CompareFilter) {

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2ArtifactParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2ArtifactParser.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2ArtifactParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2ArtifactParser.java Sat Dec 28 16:54:23 2013
@@ -21,14 +21,12 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.text.ParseException;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Map.Entry;
 
 import javax.xml.parsers.ParserConfigurationException;
 
-import org.apache.ivy.osgi.p2.PropertiesParser.PropertiesHandler;
-import org.apache.ivy.osgi.util.DelegetingHandler;
+import org.apache.ivy.osgi.util.DelegatingHandler;
 import org.apache.ivy.osgi.util.Version;
 import org.apache.ivy.util.XMLHelper;
 import org.xml.sax.Attributes;
@@ -54,7 +52,7 @@ public class P2ArtifactParser implements
         }
     }
 
-    static class RepositoryHandler extends DelegetingHandler {
+    private static class RepositoryHandler extends DelegatingHandler {
 
         private static final String REPOSITORY = "repository";
 
@@ -64,20 +62,18 @@ public class P2ArtifactParser implements
         //
         // private static final String VERSION = "version";
 
-        private Map/* <String, String> */patternsByClassifier = new HashMap();
+        private Map<String, String> patternsByClassifier = new HashMap<String, String>();
 
         public RepositoryHandler(final P2Descriptor p2Descriptor, String repoUrl) {
             super(REPOSITORY);
-            // addChild(new PropertiesHandler(), new ChildElementHandler() {
-            // public void childHanlded(DelegetingHandler child) {
+            // addChild(new PropertiesHandler(), new ChildElementHandler<PropertiesHandler>() {
+            // public void childHanlded(PropertiesHandler child) {
             // }
             // });
-            addChild(new MappingsHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    Iterator it = ((MappingsHandler) child).outputByFilter.entrySet().iterator();
-                    while (it.hasNext()) {
-                        Entry entry = (Entry) it.next();
-                        String filter = (String) entry.getKey();
+            addChild(new MappingsHandler(), new ChildElementHandler<MappingsHandler>() {
+                public void childHanlded(MappingsHandler child) {
+                    for (Entry<String, String> entry : child.outputByFilter.entrySet()) {
+                        String filter = entry.getKey();
                         if (filter.startsWith("(& (classifier=") && filter.endsWith("")) {
                             String classifier = filter.substring(15, filter.length() - 2);
                             patternsByClassifier.put(classifier, entry.getValue());
@@ -89,8 +85,8 @@ public class P2ArtifactParser implements
                 }
             });
             addChild(new ArtifactsHandler(p2Descriptor, patternsByClassifier, repoUrl),
-                new ChildElementHandler() {
-                    public void childHanlded(DelegetingHandler child) {
+                new ChildElementHandler<ArtifactsHandler>() {
+                    public void childHanlded(ArtifactsHandler child) {
                         // nothing to do
                     }
                 });
@@ -102,31 +98,31 @@ public class P2ArtifactParser implements
         // }
     }
 
-    static class MappingsHandler extends DelegetingHandler {
+    private static class MappingsHandler extends DelegatingHandler {
 
         private static final String MAPPINGS = "mappings";
 
         private static final String SIZE = "size";
 
-        Map/* <String, String> */outputByFilter;
+        Map<String, String> outputByFilter;
 
         public MappingsHandler() {
             super(MAPPINGS);
-            addChild(new RuleHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    outputByFilter.put(((RuleHandler) child).filter, ((RuleHandler) child).output);
+            addChild(new RuleHandler(), new ChildElementHandler<RuleHandler>() {
+                public void childHanlded(RuleHandler child) {
+                    outputByFilter.put(child.filter, child.output);
                 }
             });
         }
 
         protected void handleAttributes(Attributes atts) {
             int size = Integer.parseInt(atts.getValue(SIZE));
-            outputByFilter = new HashMap(size);
+            outputByFilter = new HashMap<String, String>(size);
         }
 
     }
 
-    static class RuleHandler extends DelegetingHandler {
+    private static class RuleHandler extends DelegatingHandler {
 
         private static final String RULE = "rule";
 
@@ -149,19 +145,19 @@ public class P2ArtifactParser implements
 
     }
 
-    static class ArtifactsHandler extends DelegetingHandler {
+    private static class ArtifactsHandler extends DelegatingHandler {
 
         private static final String ARTIFACTS = "artifacts";
 
         // private static final String SIZE = "size";
 
         public ArtifactsHandler(final P2Descriptor p2Descriptor,
-                final Map/* <String, String> */patternsByClassifier, final String repoUrl) {
+                final Map<String, String> patternsByClassifier, final String repoUrl) {
             super(ARTIFACTS);
-            addChild(new ArtifactHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    P2Artifact a = ((ArtifactHandler) child).p2Artifact;
-                    String url = (String) patternsByClassifier.get(a.getClassifier());
+            addChild(new ArtifactHandler(), new ChildElementHandler<ArtifactHandler>() {
+                public void childHanlded(ArtifactHandler child) {
+                    P2Artifact a = child.p2Artifact;
+                    String url = patternsByClassifier.get(a.getClassifier());
                     if (url.startsWith("${repoUrl}")) { // try to avoid costly regexp
                         url = repoUrl + url.substring(10);
                     } else {
@@ -179,7 +175,7 @@ public class P2ArtifactParser implements
 
     }
 
-    static class ArtifactHandler extends DelegetingHandler {
+    private static class ArtifactHandler extends DelegatingHandler {
 
         private static final String ARTIFACT = "artifact";
 
@@ -193,8 +189,8 @@ public class P2ArtifactParser implements
 
         public ArtifactHandler() {
             super(ARTIFACT);
-            // addChild(new PropertiesHandler(), new ChildElementHandler() {
-            // public void childHanlded(DelegetingHandler child) {
+            // addChild(new PropertiesHandler(), new ChildElementHandler<PropertiesHandler>() {
+            // public void childHanlded(PropertiesHandler child) {
             // }
             // });
         }

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2CompositeParser.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2CompositeParser.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2CompositeParser.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2CompositeParser.java Sat Dec 28 16:54:23 2013
@@ -27,16 +27,16 @@ import java.util.Set;
 
 import javax.xml.parsers.ParserConfigurationException;
 
-import org.apache.ivy.osgi.util.DelegetingHandler;
+import org.apache.ivy.osgi.util.DelegatingHandler;
 import org.apache.ivy.util.XMLHelper;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 
 public class P2CompositeParser implements XMLInputParser {
 
-    private Set/* <String> */childLocations = new LinkedHashSet();
+    private Set<String> childLocations = new LinkedHashSet<String>();
 
-    public Set getChildLocations() {
+    public Set<String> getChildLocations() {
         return childLocations;
     }
 
@@ -50,7 +50,7 @@ public class P2CompositeParser implement
         childLocations.addAll(handler.childLocations);
     }
 
-    static class RepositoryHandler extends DelegetingHandler {
+    private static class RepositoryHandler extends DelegatingHandler {
 
         private static final String REPOSITORY = "repository";
 
@@ -60,13 +60,13 @@ public class P2CompositeParser implement
         //
         // private static final String VERSION = "version";
 
-        List/* <String> */childLocations;
+        List<String> childLocations;
 
         public RepositoryHandler() {
             super(REPOSITORY);
-            addChild(new ChildrenHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    childLocations = ((ChildrenHandler) child).childLocations;
+            addChild(new ChildrenHandler(), new ChildElementHandler<ChildrenHandler>() {
+                public void childHanlded(ChildrenHandler child) {
+                    childLocations = child.childLocations;
                 }
             });
         }
@@ -77,31 +77,31 @@ public class P2CompositeParser implement
         // }
     }
 
-    static class ChildrenHandler extends DelegetingHandler {
+    private static class ChildrenHandler extends DelegatingHandler {
 
         private static final String CHILDREN = "children";
 
         private static final String SIZE = "size";
 
-        List/* <String> */childLocations;
+        List<String> childLocations;
 
         public ChildrenHandler() {
             super(CHILDREN);
-            addChild(new ChildHandler(), new ChildElementHandler() {
-                public void childHanlded(DelegetingHandler child) {
-                    childLocations.add(((ChildHandler) child).location);
+            addChild(new ChildHandler(), new ChildElementHandler<ChildHandler>() {
+                public void childHanlded(ChildHandler child) {
+                    childLocations.add(child.location);
                 }
             });
         }
 
         protected void handleAttributes(Attributes atts) {
             int size = Integer.parseInt(atts.getValue(SIZE));
-            childLocations = new ArrayList(size);
+            childLocations = new ArrayList<String>(size);
         }
 
     }
 
-    static class ChildHandler extends DelegetingHandler {
+    private static class ChildHandler extends DelegatingHandler {
 
         private static final String CHILD = "child";
 

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2Descriptor.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2Descriptor.java?rev=1553872&r1=1553871&r2=1553872&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2Descriptor.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/p2/P2Descriptor.java Sat Dec 28 16:54:23 2013
@@ -20,24 +20,23 @@ package org.apache.ivy.osgi.p2;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 
 import org.apache.ivy.osgi.core.BundleInfo;
 import org.apache.ivy.osgi.core.ExecutionEnvironmentProfileProvider;
+import org.apache.ivy.osgi.repo.EditableRepoDescriptor;
 import org.apache.ivy.osgi.repo.ModuleDescriptorWrapper;
-import org.apache.ivy.osgi.repo.RepoDescriptor;
 import org.apache.ivy.osgi.util.Version;
 import org.apache.ivy.util.Message;
 
-public class P2Descriptor extends RepoDescriptor {
+public class P2Descriptor extends EditableRepoDescriptor {
 
     private long timestamp;
 
-    private Map/* <String, Map<Version, String>> */artifactUrlPatterns = new HashMap();
+    private Map<String, Map<Version, String>> artifactUrlPatterns = new HashMap<String, Map<Version, String>>();
 
-    private Map/* <String, Map<String, URI>> */sourceURIs = new HashMap();
+    private Map<String, Map<String, URI>> sourceURIs = new HashMap<String, Map<String, URI>>();
 
     public P2Descriptor(URI repoUri, ExecutionEnvironmentProfileProvider profileProvider) {
         super(repoUri, profileProvider);
@@ -56,10 +55,9 @@ public class P2Descriptor extends RepoDe
                 }
                 return;
             }
-            Map/* <String, URI> */byVersion = (Map) sourceURIs.get(bundleInfo
-                    .getSymbolicNameTarget());
+            Map<String, URI> byVersion = sourceURIs.get(bundleInfo.getSymbolicNameTarget());
             if (byVersion == null) {
-                byVersion = new HashMap();
+                byVersion = new HashMap<String, URI>();
                 sourceURIs.put(bundleInfo.getSymbolicNameTarget(), byVersion);
             }
             URI sourceUri = getArtifactURI(bundleInfo);
@@ -70,7 +68,7 @@ public class P2Descriptor extends RepoDe
                 }
                 return;
             }
-            URI old = (URI) byVersion.put(bundleInfo.getVersionTarget().toString(), sourceUri);
+            URI old = byVersion.put(bundleInfo.getVersionTarget().toString(), sourceUri);
             if (old != null && !old.equals(sourceUri)) {
                 if (getLogLevel() <= Message.MSG_VERBOSE) {
                     Message.verbose("Duplicate source for the bundle "
@@ -89,10 +87,10 @@ public class P2Descriptor extends RepoDe
     }
 
     private URI getArtifactURI(BundleInfo bundleInfo) {
-        Map/* <Version, String> */urlPatternsByVersion = (Map) artifactUrlPatterns.get(bundleInfo
+        Map<Version, String> urlPatternsByVersion = artifactUrlPatterns.get(bundleInfo
                 .getSymbolicName());
         if (urlPatternsByVersion != null) {
-            String urlPattern = (String) urlPatternsByVersion.get(bundleInfo.getVersion());
+            String urlPattern = urlPatternsByVersion.get(bundleInfo.getVersion());
             if (urlPattern != null) {
                 String url = urlPattern.replaceAll("\\$\\{id\\}", bundleInfo.getSymbolicName());
                 url = url.replaceAll("\\$\\{version\\}", bundleInfo.getVersion().toString());
@@ -112,9 +110,9 @@ public class P2Descriptor extends RepoDe
             // we only support OSGi bundle, no Eclipse feature or anything else
             return;
         }
-        Map/* <Version, String> */byVersion = (Map) artifactUrlPatterns.get(id);
+        Map<Version, String> byVersion = artifactUrlPatterns.get(id);
         if (byVersion == null) {
-            byVersion = new HashMap();
+            byVersion = new HashMap<Version, String>();
             artifactUrlPatterns.put(id, byVersion);
         }
         byVersion.put(version, url);
@@ -122,20 +120,15 @@ public class P2Descriptor extends RepoDe
 
     public void finish() {
         artifactUrlPatterns = null;
-        Set/* <String> */bundleNames = getCapabilityValues(BundleInfo.BUNDLE_TYPE);
+        Set<String> bundleNames = getCapabilityValues(BundleInfo.BUNDLE_TYPE);
         if (bundleNames == null) {
             return;
         }
-        Iterator itBundleNames = bundleNames.iterator();
-        while (itBundleNames.hasNext()) {
-            String bundleName = (String) itBundleNames.next();
-            Set/* <ModuleDescriptorWrapper> */modules = findModule(BundleInfo.BUNDLE_TYPE,
-                bundleName);
-            Iterator itModules = modules.iterator();
-            while (itModules.hasNext()) {
-                ModuleDescriptorWrapper mdw = (ModuleDescriptorWrapper) itModules.next();
+        for (String bundleName : bundleNames) {
+            Set<ModuleDescriptorWrapper> modules = findModule(BundleInfo.BUNDLE_TYPE, bundleName);
+            for (ModuleDescriptorWrapper mdw : modules) {
                 String symbolicName = mdw.getBundleInfo().getSymbolicName();
-                Map/* <String, URI> */byVersion = (Map) sourceURIs.get(symbolicName);
+                Map<String, URI> byVersion = sourceURIs.get(symbolicName);
                 if (byVersion == null) {
                     continue;
                 }