You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by br...@apache.org on 2008/05/14 08:37:05 UTC

svn commit: r656120 - in /maven/wagon/trunk/wagon-providers: wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/ wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/ wagon-http/src/test/java/org/apache/mav...

Author: brett
Date: Tue May 13 23:37:05 2008
New Revision: 656120

URL: http://svn.apache.org/viewvc?rev=656120&view=rev
Log:
[WAGONHTTP-16] ensure that HTTP providers work if the url has a trailing slash
Submitted by: Nathan Beyer

Modified:
    maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java
    maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java
    maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java

Modified: maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java?rev=656120&r1=656119&r2=656120&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/main/java/org/apache/maven/wagon/providers/http/LightweightHttpWagon.java Tue May 13 23:37:05 2008
@@ -72,13 +72,31 @@
      */
     private boolean useCache;
 
+    /**
+     * Builds a complete URL string from the repository URL and the relative path passed.
+     * 
+     * @param path the relative path
+     * @return the complete URL
+     */
+    private String buildUrl( String path )
+    {
+        final String repoUrl = getRepository().getUrl();
+
+        if ( repoUrl.charAt( repoUrl.length() - 1 ) != '/' )
+        {
+            return repoUrl + '/' + path;
+        }
+
+        return repoUrl + path;
+    }    
+
     public void fillInputData( InputData inputData )
         throws TransferFailedException, ResourceDoesNotExistException
     {
         Resource resource = inputData.getResource();
         try
         {
-            URL url = resolveResourceURL( resource );
+            URL url = new URL( buildUrl( resource.getName() ) );
             URLConnection urlConnection = url.openConnection();
             urlConnection.setRequestProperty( "Accept-Encoding", "gzip" );
             if ( !useCache )
@@ -116,7 +134,7 @@
         Resource resource = outputData.getResource();
         try
         {
-            URL url = resolveResourceURL( resource );
+            URL url = new URL( buildUrl( resource.getName() ) );
             putConnection = (HttpURLConnection) url.openConnection();
 
             putConnection.setRequestMethod( "PUT" );
@@ -129,24 +147,6 @@
         }
     }
 
-    private URL resolveResourceURL( Resource resource )
-        throws MalformedURLException
-    {
-        String repositoryUrl = getRepository().getUrl();
-        
-        URL url;
-        if ( repositoryUrl.endsWith( "/" ) )
-        {
-            url = new URL( repositoryUrl + resource.getName() );
-        }
-        else
-        {
-            url = new URL( repositoryUrl + "/" + resource.getName() );
-        }
-        return url;
-    }
-
-
     public void put( File source, String resourceName )
         throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
     {
@@ -154,7 +154,7 @@
 
         try
         {
-            String url = getRepository().getUrl() + "/" + resourceName;
+            String url = buildUrl( resourceName );
             int statusCode = putConnection.getResponseCode();
 
             switch ( statusCode )
@@ -269,7 +269,7 @@
             destinationDirectory += "/";
         }
 
-        String url = getRepository().getUrl() + "/" + destinationDirectory;
+        String url = buildUrl( destinationDirectory );
 
         Resource resource = new Resource( destinationDirectory );
 
@@ -294,7 +294,7 @@
         
         try
         {
-            URL url = resolveResourceURL( new Resource(resourceName) );
+            URL url = new URL( buildUrl( new Resource(resourceName).getName() ) );
             headConnection = (HttpURLConnection) url.openConnection();
     
             headConnection.setRequestMethod( "HEAD" );

Modified: maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java?rev=656120&r1=656119&r2=656120&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http-lightweight/src/test/java/org/apache/maven/wagon/providers/http/LightweightHttpWagonTest.java Tue May 13 23:37:05 2008
@@ -41,7 +41,7 @@
 
     protected String getTestRepositoryUrl()
     {
-        return "http://localhost:10007";
+        return "http://localhost:10007/";
     }
 
     protected void setupWagonTestingFixtures()

Modified: maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java?rev=656120&r1=656119&r2=656120&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-http/src/test/java/org/apache/maven/wagon/providers/http/HttpWagonTest.java Tue May 13 23:37:05 2008
@@ -41,7 +41,7 @@
 
     protected String getTestRepositoryUrl()
     {
-        return "http://localhost:10007";
+        return "http://localhost:10007/";
     }
 
     protected void setupWagonTestingFixtures()



---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org