Author: ltheussl
Date: Sat Mar 19 19:11:39 2011
New Revision: 1083249

URL: http://svn.apache.org/viewvc?rev=1083249&view=rev
Log:
correct PathTool.getRelativeWebPath that returns '/' for links that go to self

Modified:
    
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java
    
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java?rev=1083249&r1=1083248&r2=1083249&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptor.java
 Sat Mar 19 19:11:39 2011
@@ -138,7 +138,7 @@ public class URIPathDescriptor
 
         final String relativePath = PathTool.getRelativeWebPath( 
newBaseURI.toString(), link.toString() );
 
-        return URI.create( relativePath );
+        return URI.create( "/".equals( relativePath ) ? "./" : relativePath );
     }
 
     /**
@@ -185,7 +185,7 @@ public class URIPathDescriptor
 
         final String relativeBasePath = PathTool.getRelativeWebPath( 
newBaseURI.getPath(), baseURI.getPath() );
 
-        return URI.create( relativeBasePath ).resolve( link );
+        return URI.create( "/".equals( relativeBasePath ) ? "./" : 
relativeBasePath ).resolve( link );
     }
 
     /**

Modified: 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java?rev=1083249&r1=1083248&r2=1083249&view=diff
==============================================================================
--- 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java
 (original)
+++ 
maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/URIPathDescriptorTest.java
 Sat Mar 19 19:11:39 2011
@@ -142,6 +142,12 @@ public class URIPathDescriptorTest
         assertEquals( "http://maven.apache.org/source";, oldPath.rebaseLink( 
null ).toString() );
         assertEquals( "http://maven.apache.org/source";, oldPath.rebaseLink( 
"C:/Documents and Settings/" ).toString() );
 
+        oldPath = new URIPathDescriptor( maven, "./" );
+        assertEquals( "", oldPath.rebaseLink( "http://maven.apache.org/"; 
).toString() );
+
+        oldPath = new URIPathDescriptor( maven, "" );
+        assertEquals( "", oldPath.rebaseLink( "http://maven.apache.org/"; 
).toString() );
+
         oldPath = new URIPathDescriptor( maven, "source/index.html" );
         assertEquals( "../source/index.html", oldPath.rebaseLink( 
"http://maven.apache.org/doxia/"; ).toString() );
 
@@ -190,6 +196,9 @@ public class URIPathDescriptorTest
         path = new URIPathDescriptor( maven, "http://maven.apache.org/source"; 
);
         assertEquals( "source", path.relativizeLink().toString() );
 
+        path = new URIPathDescriptor( maven, "http://maven.apache.org/"; );
+        assertEquals( "./", path.relativizeLink().toString() );
+
         path = new URIPathDescriptor( "http://maven.apache.org/doxia/";, 
"http://maven.apache.org/source/"; );
         assertEquals( "../source/", path.relativizeLink().toString() );
 


Reply via email to