svn commit: r366471 - in /maven/doxia/trunk/doxia-decoration-model/src: main/java/org/apache/maven/doxia/site/decoration/inheritance/ test/java/org/apache/maven/doxia/site/decoration/inheritance/ test

2006-01-06 Thread brett
Author: brett
Date: Fri Jan  6 02:40:18 2006
New Revision: 366471

URL: http://svn.apache.org/viewcvs?rev=366471&view=rev
Log:
[MSITE-62] improve relative path discovery and apply to whole descriptor

Added:

maven/doxia/trunk/doxia-decoration-model/src/test/resources/relative-urls-resolved.xml
   (with props)

maven/doxia/trunk/doxia-decoration-model/src/test/resources/subsite-relative-urls-resolved.xml
   (with props)
Modified:

maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java

maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java

maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java?rev=366471&r1=366470&r2=366471&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java
 Fri Jan  6 02:40:18 2006
@@ -29,4 +29,6 @@
 
 void assembleModelInheritance( DecorationModel child, DecorationModel 
parent, String childBaseUrl,
String parentBaseUrl );
+
+void resolvePaths( DecorationModel decoration, String baseUrl );
 }

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java?rev=366471&r1=366470&r2=366471&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 Fri Jan  6 02:40:18 2006
@@ -45,6 +45,11 @@
 {
 String prefix = getParentPrefix( parentBaseUrl, childBaseUrl );
 
+if ( !prefix.endsWith( "/" ) )
+{
+prefix += "/";
+}
+
 // cannot inherit from null parent.
 if ( parent != null )
 {
@@ -81,6 +86,52 @@
 }
 }
 
+public void resolvePaths( DecorationModel decoration, String baseUrl )
+{
+String prefix = ".";
+
+if ( decoration.getBannerLeft() != null )
+{
+resolveBannerPaths( decoration.getBannerLeft(), prefix, baseUrl );
+}
+
+if ( decoration.getBannerRight() != null )
+{
+resolveBannerPaths( decoration.getBannerRight(), prefix, baseUrl );
+}
+
+for ( Iterator i = decoration.getPoweredBy().iterator(); i.hasNext(); )
+{
+Logo logo = (Logo) i.next();
+
+resolveLogoPaths( logo, prefix, baseUrl );
+}
+
+if ( decoration.getBody() != null )
+{
+for ( Iterator i = decoration.getBody().getLinks().iterator(); 
i.hasNext(); )
+{
+LinkItem linkItem = (LinkItem) i.next();
+
+resolveLinkItemPaths( linkItem, prefix, baseUrl );
+}
+
+for ( Iterator i = 
decoration.getBody().getBreadcrumbs().iterator(); i.hasNext(); )
+{
+LinkItem linkItem = (LinkItem) i.next();
+
+resolveLinkItemPaths( linkItem, prefix, baseUrl );
+}
+
+for ( Iterator i = decoration.getBody().getMenus().iterator(); 
i.hasNext(); )
+{
+Menu menu = (Menu) i.next();
+
+resolveMenuPaths( menu.getItems(), prefix, baseUrl );
+}
+}
+}
+
 private void resolveBannerPaths( Banner banner, String prefix, String 
baseUrl )
 {
 if ( banner != null )
@@ -92,11 +143,7 @@
 
 private String resolvePath( String href, String prefix, String baseUrl )
 {
-String relativePath = href;
-if ( relativePath.startsWith( baseUrl ) )
-{
-relativePath = relativePath.substring( baseUrl.length() );
-}
+  

svn commit: r366474 - in /maven/doxia/trunk/doxia-decoration-model/src: main/java/org/apache/maven/doxia/site/decoration/inheritance/ test/java/org/apache/maven/doxia/site/decoration/inheritance/ test

2006-01-06 Thread brett
Author: brett
Date: Fri Jan  6 03:21:44 2006
New Revision: 366474

URL: http://svn.apache.org/viewcvs?rev=366474&view=rev
Log:
[MSITE-62] improve tests

Added:

maven/doxia/trunk/doxia-decoration-model/src/test/resources/subsite-relative-urls-multiple-resolved.xml
   (with props)

maven/doxia/trunk/doxia-decoration-model/src/test/resources/subsite-urls-file.xml
   (with props)
Modified:

maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java

maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java?rev=366474&r1=366473&r2=366474&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 Fri Jan  6 03:21:44 2006
@@ -339,19 +339,12 @@
 
 if ( !mismatched && parentPath.startsWith( part ) )
 {
-parentPath = parentPath.substring( part.length() );
-if ( parentPath.startsWith( "/" ) )
-{
-parentPath = parentPath.substring( 1 );
-}
+parentPath = parentPath.substring( part.length() + 
1 );
 }
 else
 {
 mismatched = true;
-if ( parentPath.length() > 0 )
-{
-prefix += "../";
-}
+prefix += "../";
 }
 }
 prefix += parentPath;
@@ -380,7 +373,7 @@
 {
 String path = host.substring( pathIndex );
 host = host.substring( 0, pathIndex );
-if ( host.length() == 0 && "file".equals( "protocol" ) )
+if ( host.length() == 0 && "file".equals( protocol ) )
 {
 host = "localhost";
 }

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java?rev=366474&r1=366473&r2=366474&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
 Fri Jan  6 03:21:44 2006
@@ -356,6 +356,38 @@
 assertEquals( "Check result", resolvedModel, model );
 }
 
+public void testResolvingAllSiteChildUrlsMultipleLevels()
+throws IOException, XmlPullParserException
+{
+DecorationModel model = readModel( "subsite-urls.xml" );
+
+assembler.resolvePaths( model, "http://maven.apache.org/banner/right"; 
);
+
+DecorationModel resolvedModel = readModel( 
"subsite-relative-urls-multiple-resolved.xml" );
+assertEquals( "Check result", resolvedModel, model );
+}
+
+public void testResolvingAllSiteChildFilesystemUrls()
+throws IOException, XmlPullParserException
+{
+DecorationModel model = readModel( "subsite-urls-file.xml" );
+
+assembler.resolvePaths( model, 
"file://localhost/www/maven.apache.org/foo" );
+
+DecorationModel resolvedModel = readModel( 
"subsite-relative-urls-resolved.xml" );
+assertEquals( "Check result", resolvedModel, model );
+}
+
+public void testResolvingEmptyDescriptor()
+throws IOException, XmlPullParserException
+{
+DecorationModel model = readModel( "empty.xml" );
+assembler.resolvePaths( model, "http://maven.apache.org"; );
+
+DecorationModel resolvedModel = readModel( "empty.xml" );
+assertEquals( "Ch

svn commit: r366487 - in /maven/doxia/trunk/doxia-decoration-model/src: main/java/org/apache/maven/doxia/site/decoration/inheritance/ test/java/org/apache/maven/doxia/site/decoration/inheritance/

2006-01-06 Thread brett
Author: brett
Date: Fri Jan  6 04:06:00 2006
New Revision: 366487

URL: http://svn.apache.org/viewcvs?rev=366487&view=rev
Log:
[MSITE-62] don't do the .. resolution. Found to be confusing locally.

Modified:

maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java

maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java?rev=366487&r1=366486&r2=366487&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 Fri Jan  6 04:06:00 2006
@@ -319,6 +319,7 @@
 {
 prefix = getRelativePath( parentUrl, childUrl );
 }
+/*
 else
 {
 String[] parentSplit = splitUrl( parentUrl );
@@ -351,6 +352,7 @@
 }
 }
 }
+*/
 
 return prefix;
 }

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java?rev=366487&r1=366486&r2=366487&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
 Fri Jan  6 04:06:00 2006
@@ -345,6 +345,7 @@
 assertEquals( "Check result", resolvedModel, model );
 }
 
+/*
 public void testResolvingAllSiteChildUrls()
 throws IOException, XmlPullParserException
 {
@@ -377,6 +378,8 @@
 DecorationModel resolvedModel = readModel( 
"subsite-relative-urls-resolved.xml" );
 assertEquals( "Check result", resolvedModel, model );
 }
+
+*/
 
 public void testResolvingEmptyDescriptor()
 throws IOException, XmlPullParserException




svn commit: r366501 - in /maven/doxia/trunk: doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/ doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/d

2006-01-06 Thread brett
Author: brett
Date: Fri Jan  6 05:38:46 2006
New Revision: 366501

URL: http://svn.apache.org/viewcvs?rev=366501&view=rev
Log:
[MSITE-51] Add breadcrumbs

Modified:

maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java

maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java

maven/doxia/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java
maven/doxia/trunk/doxia-decoration-model/src/test/resources/merged.xml

maven/doxia/trunk/doxia-site-renderer/src/main/java/org/apache/maven/doxia/siterenderer/DefaultSiteRenderer.java

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java?rev=366501&r1=366500&r2=366501&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritanceAssembler.java
 Fri Jan  6 05:38:46 2006
@@ -27,7 +27,7 @@
 {
 String ROLE = DecorationModelInheritanceAssembler.class.getName();
 
-void assembleModelInheritance( DecorationModel child, DecorationModel 
parent, String childBaseUrl,
+void assembleModelInheritance( String name, DecorationModel child, 
DecorationModel parent, String childBaseUrl,
String parentBaseUrl );
 
 void resolvePaths( DecorationModel decoration, String baseUrl );

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java?rev=366501&r1=366500&r2=366501&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 Fri Jan  6 05:38:46 2006
@@ -40,8 +40,8 @@
 public class DefaultDecorationModelInheritanceAssembler
 implements DecorationModelInheritanceAssembler
 {
-public void assembleModelInheritance( DecorationModel child, 
DecorationModel parent, String childBaseUrl,
-  String parentBaseUrl )
+public void assembleModelInheritance( String name, DecorationModel child, 
DecorationModel parent,
+  String childBaseUrl, String 
parentBaseUrl )
 {
 String prefix = getParentPrefix( parentBaseUrl, childBaseUrl );
 
@@ -80,7 +80,7 @@
 child.setPoweredBy(
 mergePoweredByLists( child.getPoweredBy(), 
parent.getPoweredBy(), prefix, parentBaseUrl ) );
 
-assembleBodyInheritance( child, parent, prefix, parentBaseUrl );
+assembleBodyInheritance( name, childBaseUrl, child, parent, 
prefix, parentBaseUrl );
 
 assembleCustomInheritance( child, parent );
 }
@@ -164,19 +164,25 @@
 }
 }
 
-private void assembleBodyInheritance( DecorationModel child, 
DecorationModel parent, String prefix, String baseUrl )
+private void assembleBodyInheritance( String name, String childUrl, 
DecorationModel child, DecorationModel parent,
+  String prefix, String baseUrl )
 {
 Body cBody = child.getBody();
 Body pBody = parent.getBody();
 
-if ( cBody == null && pBody != null )
+if ( cBody != null || pBody != null )
 {
-cBody = new Body();
-child.setBody( cBody );
-}
+if ( cBody == null )
+{
+cBody = new Body();
+child.setBody( cBody );
+}
+
+if ( pBody == null )
+{
+pBody = new Body();
+}
 
-if ( pBody != null )
-{
 if ( cBody.getHead() == null )
 {
 cBody.setHead( pBody.getHead() );
@@ -187,6 +193,14 @@
 }
 
 cBody.setLi

svn commit: r366515 - /maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java

2006-01-06 Thread evenisse
Author: evenisse
Date: Fri Jan  6 07:17:28 2006
New Revision: 366515

URL: http://svn.apache.org/viewcvs?rev=366515&view=rev
Log:
Fix NPE

Modified:

maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java

Modified: 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java?rev=366515&r1=366514&r2=366515&view=diff
==
--- 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 (original)
+++ 
maven/doxia/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java
 Fri Jan  6 07:17:28 2006
@@ -330,7 +330,18 @@
 
 private static String getParentPrefix( String parentUrl, String childUrl )
 {
+if ( parentUrl == null )
+{
+parentUrl = "";
+}
+
+if ( childUrl == null )
+{
+childUrl = "";
+}
+
 String prefix = parentUrl;
+
 if ( childUrl.startsWith( parentUrl ) )
 {
 prefix = getRelativePath( childUrl, parentUrl );