Author: ltheussl Date: Thu Mar 10 14:47:39 2011 New Revision: 1080239 URL: http://svn.apache.org/viewvc?rev=1080239&view=rev Log: for backward compatibility: ignore bad hrefs
Modified: maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java Modified: maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.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/DefaultDecorationModelInheritanceAssembler.java?rev=1080239&r1=1080238&r2=1080239&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/main/java/org/apache/maven/doxia/site/decoration/inheritance/DefaultDecorationModelInheritanceAssembler.java Thu Mar 10 14:47:39 2011 @@ -406,9 +406,17 @@ public class DefaultDecorationModelInher return link; } - final URIPathDescriptor path = new URIPathDescriptor( baseUri, link ); + // this shouldn't be necessary, just to swallow mal-formed hrefs + try + { + final URIPathDescriptor path = new URIPathDescriptor( baseUri, link ); - return path.relativizeLink().toString(); + return path.relativizeLink().toString(); + } + catch ( IllegalArgumentException e ) + { + return link; + } } /** Modified: maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.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/DecorationModelInheritenceAssemblerTest.java?rev=1080239&r1=1080238&r2=1080239&view=diff ============================================================================== --- maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java (original) +++ maven/doxia/doxia-sitetools/trunk/doxia-decoration-model/src/test/java/org/apache/maven/doxia/site/decoration/inheritance/DecorationModelInheritenceAssemblerTest.java Thu Mar 10 14:47:39 2011 @@ -595,6 +595,17 @@ public class DecorationModelInheritenceA assertEquals( "Modified parent!", new DecorationModel(), parent ); } + public void testBadHref() + { + final DecorationModel model = new DecorationModel(); + model.setBody( new Body() ); + model.getBody().addBreadcrumb( createLinkItem( "Foo", "http://foo.apache.org/${property}" ) ); + assembler.resolvePaths( model, "http://foo.apache.org" ); + assertEquals( "Check size", 1, model.getBody().getBreadcrumbs().size() ); + assertEquals( "Check item", createLinkItem( "Foo", "http://foo.apache.org/${property}" ), + model.getBody().getBreadcrumbs().get( 0 ) ); + } + public void testBreadcrumbWithoutHref() { DecorationModel model = new DecorationModel();