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
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
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/
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
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
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 );