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/10/28 22:37:17 UTC

[14/35] git commit: Make getExtraInfos and getExtraInfo work on the same data, with the explicit bias on getting the data out on the deprecated mathod

Make getExtraInfos and getExtraInfo work on the same data, with the explicit bias on getting the data out on the deprecated mathod


git-svn-id: https://svn.apache.org/repos/asf/ant/ivy/core/trunk@1593855 13f79535-47bb-0310-9956-ffa450edef68


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

Branch: refs/heads/2.4.x
Commit: 86d1c40475d6962e6ad256f248636467bf0a58cf
Parents: 2257485
Author: Nicolas Lalevee <hi...@apache.org>
Authored: Sun May 11 20:38:12 2014 +0000
Committer: Nicolas Lalevee <hi...@apache.org>
Committed: Sun May 11 20:38:12 2014 +0000

----------------------------------------------------------------------
 .../descriptor/DefaultModuleDescriptor.java     | 20 ++++++++++++++------
 .../module/descriptor/ModuleDescriptor.java     | 13 ++++++++-----
 .../apache/ivy/core/report/ResolveReport.java   |  1 +
 .../apache/ivy/osgi/core/BundleInfoAdapter.java |  3 ++-
 .../parser/xml/XmlModuleDescriptorParser.java   |  2 --
 5 files changed, 25 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/86d1c404/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java b/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
index 1a62d55..2c544c5 100644
--- a/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
+++ b/src/java/org/apache/ivy/core/module/descriptor/DefaultModuleDescriptor.java
@@ -194,7 +194,6 @@ public class DefaultModuleDescriptor implements ModuleDescriptor {
         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 implements ModuleDescriptor {
 
     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 implements ModuleDescriptor {
 
     @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() {

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/86d1c404/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java b/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
index 1f85787..4eb4a1e 100644
--- a/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
+++ b/src/java/org/apache/ivy/core/module/descriptor/ModuleDescriptor.java
@@ -254,22 +254,23 @@ public interface ModuleDescriptor extends ExtendableItem, ArtifactInfo,
      * @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 extends ExtendableItem, ArtifactInfo,
     /**
      * 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 extends ExtendableItem, ArtifactInfo,
     /**
      * Returns first extrainfo matching with given tag name
      * 
+     * @since 2.4.0
      * @return
      */
     ExtraInfoHolder getExtraInfoByTagName(String tagName);

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/86d1c404/src/java/org/apache/ivy/core/report/ResolveReport.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/core/report/ResolveReport.java b/src/java/org/apache/ivy/core/report/ResolveReport.java
index 54732aa..0f12488 100644
--- a/src/java/org/apache/ivy/core/report/ResolveReport.java
+++ b/src/java/org/apache/ivy/core/report/ResolveReport.java
@@ -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());

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/86d1c404/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java b/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
index 8f269db..136a32c 100644
--- a/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
+++ b/src/java/org/apache/ivy/osgi/core/BundleInfoAdapter.java
@@ -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()));
             }
         }
 

http://git-wip-us.apache.org/repos/asf/ant-ivy/blob/86d1c404/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java b/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
index b70f2a3..de28d74 100644
--- a/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
+++ b/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
@@ -562,7 +562,6 @@ public class XmlModuleDescriptorParser extends AbstractModuleDescriptorParser {
                 descriptor.setNamespace(parentNamespace);
             }
 
-            descriptor.getExtraInfo().putAll(parent.getExtraInfo());
             descriptor.getExtraInfos().addAll(parent.getExtraInfos());
         }
 
@@ -1251,7 +1250,6 @@ public class XmlModuleDescriptorParser extends AbstractModuleDescriptorParser {
             } 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()) {