Will this fall over on any other characters? ISTR there being a standard way to get a proper file URL reference for these occurrences, but it's slipping my mind right now...

On 06/11/2007, at 8:40 AM, [EMAIL PROTECTED] wrote:

Author: jdcasey
Date: Mon Nov  5 13:40:11 2007
New Revision: 592157

URL: http://svn.apache.org/viewvc?rev=592157&view=rev
Log:
[MNG-3272] Fixing URI construction for reading the super-POM in cases where maven is in a directory structure where there are spaces in the path.

Added:
maven/components/trunk/maven-project/src/test/java/org/apache/ maven/project/ProjectBuilderURITest.java (with props)
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/ maven/project/DefaultMavenProjectBuilder.java maven/components/trunk/maven-project/src/test/java/org/apache/ maven/project/AbstractMavenProjectTestCase.java

Modified: maven/components/trunk/maven-project/src/main/java/org/ apache/maven/project/DefaultMavenProjectBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven- project/src/main/java/org/apache/maven/project/ DefaultMavenProjectBuilder.java? rev=592157&r1=592156&r2=592157&view=diff ====================================================================== ======== --- maven/components/trunk/maven-project/src/main/java/org/apache/ maven/project/DefaultMavenProjectBuilder.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/ maven/project/DefaultMavenProjectBuilder.java Mon Nov 5 13:40:11 2007
@@ -1059,7 +1059,7 @@
         URI uri = null;
         try
         {
-            uri = new URI( url.toString() );
+            uri = new URI( url.toString().replaceAll( " ", "%20" ) );
             reader = ReaderFactory.newXmlReader( url.openStream() );
             return readModel( projectId, uri, reader, strict );
         }

Modified: maven/components/trunk/maven-project/src/test/java/org/ apache/maven/project/AbstractMavenProjectTestCase.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven- project/src/test/java/org/apache/maven/project/ AbstractMavenProjectTestCase.java? rev=592157&r1=592156&r2=592157&view=diff ====================================================================== ======== --- maven/components/trunk/maven-project/src/test/java/org/apache/ maven/project/AbstractMavenProjectTestCase.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/ maven/project/AbstractMavenProjectTestCase.java Mon Nov 5 13:40:11 2007
@@ -80,7 +80,7 @@
throw new FileNotFoundException( "Unable to find: " + resource );
         }

-        return new File( new URI( resourceUrl.toString() ) );
+ return new File( new URI( resourceUrl.toString().replaceAll ( " ", "%20" ) ) );
     }

     protected ArtifactRepository getLocalRepository()

Added: maven/components/trunk/maven-project/src/test/java/org/ apache/maven/project/ProjectBuilderURITest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven- project/src/test/java/org/apache/maven/project/ ProjectBuilderURITest.java?rev=592157&view=auto ====================================================================== ======== --- maven/components/trunk/maven-project/src/test/java/org/apache/ maven/project/ProjectBuilderURITest.java (added) +++ maven/components/trunk/maven-project/src/test/java/org/apache/ maven/project/ProjectBuilderURITest.java Mon Nov 5 13:40:11 2007
@@ -0,0 +1,32 @@
+package org.apache.maven.project;
+
+import java.io.UnsupportedEncodingException;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+public class ProjectBuilderURITest
+    extends TestCase
+{
+
+    /**
+     * MNG-3272:
+ * See [EMAIL PROTECTED] DefaultMavenProjectBuilder#readModel(String, URL, boolean)}
+     * for where this fix is implemented.
+     */
+    public void testURL_to_URI_forSuperPom_WhenMavenHasSpaceInPath()
+ throws URISyntaxException, MalformedURLException, UnsupportedEncodingException
+    {
+ String url = "jar:file:/c:/Program Files/maven2.1/bin/../ lib/maven-project-2.1-SNAPSHOT.jar!/org/apache/maven/project/ pom-4.0.0.xml";
+        System.out.println( "Original URL String:\n" + url );
+
+        URL urlInst = new URL( url );
+
+ URI uUri = new URI( urlInst.toExternalForm().replaceAll( " ", "%20" ) );
+        System.out.println( "URI result:\n" + uUri );
+    }
+
+}

Propchange: maven/components/trunk/maven-project/src/test/java/org/ apache/maven/project/ProjectBuilderURITest.java ---------------------------------------------------------------------- --------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-project/src/test/java/org/ apache/maven/project/ProjectBuilderURITest.java ---------------------------------------------------------------------- --------
    svn:keywords = "Author Date Id Revision"



--
Brett Porter - [EMAIL PROTECTED]
Blog: http://www.devzuz.org/blogs/bporter/


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to