Author: hibou
Date: Sun May 11 20:38:12 2014
New Revision: 1593855

URL: http://svn.apache.org/r1593855
Log:
Make getExtraInfos and getExtraInfo work on the same data, with the explicit 
bias on getting the data out on the deprecated mathod

Modified:
    
ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
    
ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ResolveReport.java
    ant/ivy/core/trunk/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
    
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java

Modified: 
ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java?rev=1593855&r1=1593854&r2=1593855&view=diff
==============================================================================
--- 
ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
 (original)
+++ 
ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
 Sun May 11 20:38:12 2014
@@ -194,7 +194,6 @@ public class DefaultModuleDescriptor imp
         nmd.description = md.getDescription();
         nmd.lastModified = md.getLastModified();
         nmd.extraAttributesNamespaces = md.getExtraAttributesNamespaces();
-        nmd.extraInfo = md.getExtraInfo();
         nmd.extraInfos = md.getExtraInfos();
         nmd.namespace = ns;
 
@@ -256,8 +255,6 @@ public class DefaultModuleDescriptor imp
 
     private Map/* <String,String> */extraAttributesNamespaces = new 
LinkedHashMap();
 
-    private Map/* <String,String> */extraInfo = new HashMap();
-
     private List<ExtraInfoHolder> extraInfos = new 
ArrayList<ExtraInfoHolder>();
 
     public DefaultModuleDescriptor(ModuleRevisionId id, String status, Date 
pubDate) {
@@ -839,12 +836,23 @@ public class DefaultModuleDescriptor imp
 
     @Deprecated
     public void addExtraInfo(String infoKey, String value) {
-        extraInfo.put(infoKey, value);
+        extraInfos.add(new ExtraInfoHolder(infoKey, value));
     }
 
     @Deprecated
-    public Map getExtraInfo() {
-        return extraInfo;
+    public Map<String, String> getExtraInfo() {
+        Map<String, String> map = new HashMap<String, String>();
+        for (ExtraInfoHolder extraInfo : extraInfos) {
+            populateExtraInfoMap(map, extraInfo);
+        }
+        return map;
+    }
+
+    private void populateExtraInfoMap(Map<String, String> map, ExtraInfoHolder 
extraInfo) {
+        map.put(extraInfo.getName(), extraInfo.getContent());
+        for (ExtraInfoHolder nested : extraInfo.getNestedExtraInfoHolder()) {
+            populateExtraInfoMap(map, nested);
+        }
     }
 
     public List<ExtraInfoHolder> getExtraInfos() {

Modified: 
ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java?rev=1593855&r1=1593854&r2=1593855&view=diff
==============================================================================
--- 
ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
 (original)
+++ 
ant/ivy/core/trunk/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
 Sun May 11 20:38:12 2014
@@ -254,22 +254,23 @@ public interface ModuleDescriptor extend
      * @return the list of xml namespaces used by extra attributes, as Map 
from prefix to namespace
      *         URIs.
      */
-    Map/* <String,String> */getExtraAttributesNamespaces();
+    Map<String, String> getExtraAttributesNamespaces();
 
     /**
      * Returns the custom info provided in the info tag. All the tags except 
the description are
-     * given. The key is the name of the tag, the value is its content.
+     * given. The key is the name of the tag, the value is its content. <br />
      * 
-     * @deprecated please use getExtraInfos() method instead
-     * @return
+     * @deprecated this method is not returning the full content of the extra 
info: to get the full
+     *             structure of the extra infos, use getExtraInfos()
      */
     @Deprecated
-    Map/* <String,String> */getExtraInfo();
+    Map<String, String> getExtraInfo();
 
     /**
      * Returns a list of extras infos (tag name, attributes and content). All 
the tags except the
      * description are given.
      * 
+     * @since 2.4.0
      * @return
      */
     List<ExtraInfoHolder> getExtraInfos();
@@ -277,6 +278,7 @@ public interface ModuleDescriptor extend
     /**
      * Returns content from first extrainfo matching with given tag name
      * 
+     * @since 2.4.0
      * @return
      */
     String getExtraInfoContentByTagName(String tagName);
@@ -284,6 +286,7 @@ public interface ModuleDescriptor extend
     /**
      * Returns first extrainfo matching with given tag name
      * 
+     * @since 2.4.0
      * @return
      */
     ExtraInfoHolder getExtraInfoByTagName(String tagName);

Modified: 
ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ResolveReport.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ResolveReport.java?rev=1593855&r1=1593854&r2=1593855&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ResolveReport.java 
(original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/report/ResolveReport.java 
Sun May 11 20:38:12 2014
@@ -371,6 +371,7 @@ public class ResolveReport {
     public ModuleDescriptor toFixedModuleDescriptor(IvySettings settings, 
List<ModuleId> midToKeep) {
         DefaultModuleDescriptor fixedmd = new 
DefaultModuleDescriptor(md.getModuleRevisionId(),
                 md.getStatus(), new Date());
+        fixedmd.getExtraInfos().addAll(md.getExtraInfos());
 
         // copy configurations
         List<String> resolvedConfs = Arrays.asList(getConfigurations());

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=1593855&r1=1593854&r2=1593855&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 
Sun May 11 20:38:12 2014
@@ -168,7 +168,8 @@ public class BundleInfoAdapter {
 
         if (manifest != null) {
             for (Entry<Object, Object> entries : 
manifest.getMainAttributes().entrySet()) {
-                md.addExtraInfo(entries.getKey().toString(), 
entries.getValue().toString());
+                md.addExtraInfo(new 
ExtraInfoHolder(entries.getKey().toString(), entries.getValue()
+                        .toString()));
             }
         }
 

Modified: 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
URL: 
http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java?rev=1593855&r1=1593854&r2=1593855&view=diff
==============================================================================
--- 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
 (original)
+++ 
ant/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
 Sun May 11 20:38:12 2014
@@ -562,7 +562,6 @@ public class XmlModuleDescriptorParser e
                 descriptor.setNamespace(parentNamespace);
             }
 
-            descriptor.getExtraInfo().putAll(parent.getExtraInfo());
             descriptor.getExtraInfos().addAll(parent.getExtraInfos());
         }
 
@@ -1251,7 +1250,6 @@ public class XmlModuleDescriptorParser e
             } else if (state == State.EXTRA_INFO) {
                 String content = buffer == null ? "" : buffer.toString();
                 buffer = null;
-                getMd().addExtraInfo(qName, content);
                 ExtraInfoHolder extraInfo = extraInfoStack.pop();
                 extraInfo.setContent(content);
                 if (extraInfoStack.isEmpty()) {


Reply via email to