You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by ev...@apache.org on 2008/05/14 22:43:36 UTC

svn commit: r656423 - in /maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src: main/java/org/apache/maven/scm/provider/bazaar/repository/ test/java/org/apache/maven/scm/provider/bazaar/repository/

Author: evenisse
Date: Wed May 14 13:43:35 2008
New Revision: 656423

URL: http://svn.apache.org/viewvc?rev=656423&view=rev
Log:
[SCM-314] Fix support of file URL on windows

Modified:
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java
    maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java?rev=656423&r1=656422&r2=656423&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/main/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepository.java Wed May 14 13:43:35 2008
@@ -60,8 +60,15 @@
 
     public String getURI()
     {
-        return protocol + ( needsAuthentication() ? addUser() + addPassword() + addAt() : "" ) + addHost() + addPort() +
-            addPath();
+        if ( FILE.equals( protocol ) )
+        {
+            return orgUrl;
+        }
+        else
+        {
+            return protocol + ( needsAuthentication() ? addUser() + addPassword() + addAt() : "" ) + addHost() +
+                addPort() + addPath();
+        }
     }
 
     /**
@@ -72,7 +79,7 @@
 
         String msg = null;
 
-        if ( protocol == UNKNOWN )
+        if ( UNKNOWN.equals( protocol ) )
         {
             msg = "Unknown protocol (URL should start with something like 'sftp://' or 'file://'";
         }
@@ -138,7 +145,7 @@
 
     private String parseUrl( String url )
     {
-        if ( protocol == UNKNOWN )
+        if ( UNKNOWN.equals( protocol ) )
         {
             return url;
         }
@@ -157,7 +164,7 @@
 
     private String parseHostAndPort( String url )
     {
-        if ( protocol != FILE )
+        if ( !FILE.equals( protocol ) )
         {
             String[] split = url.split( ":" );
             if ( split.length == 2 )
@@ -216,7 +223,7 @@
 
     private String parsePath( String url )
     {
-        if ( protocol == FILE )
+        if ( FILE.equals( protocol ) )
         {
             //Use OS dependent path separator
             url = StringUtils.replace( url, "/", File.separator );
@@ -231,6 +238,9 @@
             }
 
             url = tmpFile2.exists() ? url2 : url;
+
+            //Use URL path separator
+            url = StringUtils.replace( url, File.separator, "/" );
         }
 
         return url;
@@ -268,7 +278,7 @@
 
     private boolean needsAuthentication()
     {
-        return protocol == SFTP || protocol == FTP || protocol == HTTPS || protocol == AFTP;
+        return SFTP.equals( protocol ) || FTP.equals( protocol ) || HTTPS.equals( protocol ) || AFTP.equals( protocol );
     }
 
     public String toString()

Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java?rev=656423&r1=656422&r2=656423&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-bazaar/src/test/java/org/apache/maven/scm/provider/bazaar/repository/BazaarScmProviderRepositoryTest.java Wed May 14 13:43:35 2008
@@ -38,21 +38,30 @@
         //1. Test *nix like paths
         String url = "file:///home/username/dev/maven";
         BazaarScmProviderRepository repo = new BazaarScmProviderRepository( url );
+        assertEquals( url, repo.getURI() );
         assertNull( repo.validateURI() );
 
         //2. Test windows like paths (with slash)
         url = "file://C:/Documents and Settings/username/dev/maven";
         repo = new BazaarScmProviderRepository( url );
+        assertEquals( url, repo.getURI() );
+        assertNull( repo.validateURI() );
+
+        url = "file:///c:/program files/cygwin/tmp/test";
+        repo = new BazaarScmProviderRepository( url );
+        assertEquals( url, repo.getURI() );
         assertNull( repo.validateURI() );
 
         //3. Test windows like paths (with backslash)
         url = "file://C:\\Documents and Settings\\username\\dev\\maven";
         repo = new BazaarScmProviderRepository( url );
+        assertEquals( url, repo.getURI() );
         assertNull( repo.validateURI() );
 
         //4. Test invalid file url
         url = "file:/C:\\Documents and Settings\\username\\dev\\maven";
         repo = new BazaarScmProviderRepository( url );
+        assertEquals( url, repo.getURI() );
         assertNotNull( repo.validateURI() );
     }