You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-commits@incubator.apache.org by xa...@apache.org on 2007/07/03 15:39:33 UTC

svn commit: r552883 - in /incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml: XmlModuleDescriptorParser.java XmlModuleDescriptorUpdater.java

Author: xavier
Date: Tue Jul  3 08:39:30 2007
New Revision: 552883

URL: http://svn.apache.org/viewvc?view=rev&rev=552883
Log:
fix problems related to recent changes in relative URL handling. Still requires some refactoring.

Modified:
    incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
    incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java?view=diff&rev=552883&r1=552882&r2=552883
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorParser.java Tue Jul  3 08:39:30 2007
@@ -31,6 +31,7 @@
 import javax.xml.parsers.ParserConfigurationException;
 
 import org.apache.ivy.Ivy;
+import org.apache.ivy.core.IvyContext;
 import org.apache.ivy.core.module.descriptor.Configuration;
 import org.apache.ivy.core.module.descriptor.ConfigurationAware;
 import org.apache.ivy.core.module.descriptor.DefaultDependencyArtifactDescriptor;
@@ -118,9 +119,10 @@
                 DefaultModuleDescriptor dmd = (DefaultModuleDescriptor) md;
                 ns = dmd.getNamespace();
             }
-            XmlModuleDescriptorUpdater.update(null, is, destFile, Collections.EMPTY_MAP, md
-                    .getStatus(), md.getResolvedModuleRevisionId().getRevision(), md
-                    .getResolvedPublicationDate(), ns, false, null);
+            XmlModuleDescriptorUpdater.update(IvyContext.getContext().getSettings(), is, res, 
+                    destFile, Collections.EMPTY_MAP, md.getStatus(), 
+                    md.getResolvedModuleRevisionId().getRevision(), 
+                    md.getResolvedPublicationDate(), ns, true, null);
         } catch (SAXException e) {
             ParseException ex = new ParseException("exception occured while parsing " + res, 0);
             ex.initCause(e);
@@ -134,8 +136,8 @@
 
     private static class Parser extends AbstractParser {
 
-        private static final List ALLOWED_VERSIONS = Arrays.asList(new String[] {"1.0", "1.1",
-                "1.2", "1.3", "1.4", "2.0"});
+        private static final List ALLOWED_VERSIONS = Arrays.asList(
+            new String[] {"1.0", "1.1", "1.2", "1.3", "1.4", "2.0"});
 
         private DefaultDependencyDescriptor _dd;
 

Modified: incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java
URL: http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java?view=diff&rev=552883&r1=552882&r2=552883
==============================================================================
--- incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java (original)
+++ incubator/ivy/core/trunk/src/java/org/apache/ivy/plugins/parser/xml/XmlModuleDescriptorUpdater.java Tue Jul  3 08:39:30 2007
@@ -45,6 +45,9 @@
 import org.apache.ivy.core.module.id.ModuleRevisionId;
 import org.apache.ivy.core.settings.IvySettings;
 import org.apache.ivy.plugins.namespace.Namespace;
+import org.apache.ivy.plugins.repository.Resource;
+import org.apache.ivy.plugins.repository.file.FileResource;
+import org.apache.ivy.plugins.repository.url.URLResource;
 import org.apache.ivy.util.Message;
 import org.apache.ivy.util.XMLHelper;
 import org.apache.ivy.util.extendable.ExtendableItemHelper;
@@ -128,8 +131,9 @@
     }
 
     
-    public static void update(final IvySettings settings, InputStream in, File destFile,
-            final Map resolvedRevisions, final String status, final String revision,
+    public static void update(
+            final IvySettings settings, InputStream in, Resource res, 
+            File destFile, final Map resolvedRevisions, final String status, final String revision,
             final Date pubdate, final Namespace ns, final boolean replaceInclude,
             String[] confsToExclude) throws IOException, SAXException {
         if (destFile.getParentFile() != null) {
@@ -137,9 +141,15 @@
         }
         OutputStream fos = new FileOutputStream(destFile);
         try {
-            //TODO : the inputStream context should be given.
-            update(settings, null, in, fos, resolvedRevisions, status, revision, pubdate, ns,
-                replaceInclude, confsToExclude);
+            //TODO: use resource as input stream context?
+            URL inputStreamContext = null;
+            if (res instanceof URLResource) {
+                inputStreamContext = ((URLResource) res).getURL();
+            } else if (res instanceof FileResource) {
+                inputStreamContext = ((FileResource) res).getFile().toURL();
+            }
+            update(settings, inputStreamContext, in, fos, resolvedRevisions, status, revision, 
+                pubdate, ns, replaceInclude, confsToExclude);
         } finally {
             try {
                 in.close();