You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2013/02/21 23:26:52 UTC

svn commit: r1448836 - in /maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src: main/java/org/apache/maven/doxia/module/confluence/parser/ test/java/org/apache/maven/doxia/module/confluence/ test/resources/

Author: olamy
Date: Thu Feb 21 22:26:52 2013
New Revision: 1448836

URL: http://svn.apache.org/r1448836
Log:
[DOXIA-466] confluence: can't create links to non-html resources (like .pdf of .xls files) because ".html" is always appended.
Submitted by Valters Vingolds.


Modified:
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
    maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java?rev=1448836&r1=1448835&r2=1448836&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/main/java/org/apache/maven/doxia/module/confluence/parser/ChildBlocksBuilder.java Thu Feb 21 22:26:52 2013
@@ -123,6 +123,13 @@ public class ChildBlocksBuilder
                         if ( link.contains( "|" ) )
                         {
                             String[] pieces = StringUtils.split( text.toString(), "|" );
+                            
+                        	if ( pieces[1].startsWith("^") )
+                        	{
+                        		// use the "file attachment" ^ syntax to force verbatim link: needed to allow actually linking to some non-html resources
+                        		pieces[1] = pieces[1].substring(1); // now just get rid of the lead ^
+                        		addHTMLSuffix = false;  // force verbatim link to support attaching files/resources (not just .html files) 
+                        	} 
 
                             if ( addHTMLSuffix )
                             {
@@ -150,6 +157,13 @@ public class ChildBlocksBuilder
                             {
                                 value = link.substring( 1 );
                             }
+                            else if ( link.startsWith( "^" ) )
+                            {
+                                link = link.substring( 1 );  // chop off the lead ^ from link and from value
+                                value = link;
+                                addHTMLSuffix =
+                                    false; // force verbatim link to support attaching files/resources (not just .html files)
+                            }
 
                             if ( addHTMLSuffix )
                             {

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java?rev=1448836&r1=1448835&r2=1448836&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/java/org/apache/maven/doxia/module/confluence/ConfluenceParserTest.java Thu Feb 21 22:26:52 2013
@@ -272,10 +272,12 @@ public class ConfluenceParserTest
         assertContainsLines( result, "begin:link, name: link.html\ntext: alias\nend:link" );
         assertContainsLines( result, "begin:link, name: link.html#anchor\ntext: link#anchor\nend:link" );
         assertContainsLines( result, "begin:link, name: #simple\ntext: simple\nend:link" );
-        // 3 paragraphs in the input...
-        assertEquals( 4, result.split( "end:paragraph\n" ).length );
-        // 5 links in the input...
-        assertEquals( 6, result.split( "end:link\n" ).length );
+        assertContainsLines( result, "begin:link, name: resource.pdf\ntext: resource.pdf\nend:link" );
+        assertContainsLines( result, "begin:link, name: resource.pdf\ntext: alias pdf\nend:link" );
+        // 5 paragraphs in the input...
+        assertEquals( 5, result.split( "end:paragraph\n" ).length );
+        // 8 links in the input...
+        assertEquals( 8, result.split( "end:link\n" ).length );
     }
 
     /** @throws Exception */

Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence
URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence?rev=1448836&r1=1448835&r2=1448836&view=diff
==============================================================================
--- maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence (original)
+++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-confluence/src/test/resources/link.confluence Thu Feb 21 22:26:52 2013
@@ -2,4 +2,6 @@ Line with [middle] link
 
 Line with link at the [end]
 
-Line with [link#anchor] and [#simple] anchor and [alias|link]
\ No newline at end of file
+Line with [link#anchor] and [#simple] anchor and [alias|link]
+
+Line with [^resource.pdf] file and with [alias pdf|^resource.pdf]