Seems to be a good fix, thanks Robert!

I'm only missing some documentation, could you add an example to http://maven.apache.org/doxia/references/doxia-apt.html ?

Cheers,
-Lukas


[email protected] wrote:
Author: rfscholte
Date: Sat Apr  6 12:21:13 2013
New Revision: 1465234

URL: http://svn.apache.org/r1465234
Log:
[DOXIA-397] Cannot link to javadoc methods

Modified:
     
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
     
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java?rev=1465234&r1=1465233&r2=1465234&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptParser.java
 Sat Apr  6 12:21:13 2013
@@ -477,7 +477,12 @@ public class AptParser
                                      logMessage( "ambiguousLink", msg );
                                  }

-                                if ( !DoxiaUtils.isValidId( hash ) )
+                                // link##anchor means literal
+                                if( hash.startsWith( "#" ) )
+                                {
+                                    linkAnchor = linkAnchor.substring( 0, 
hashIndex ) + hash;
+                                }
+                                else if ( !DoxiaUtils.isValidId( hash ) )
                                  {
                                      linkAnchor =
                                          linkAnchor.substring( 0, hashIndex ) + 
"#"

Modified: 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java
URL: 
http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java?rev=1465234&r1=1465233&r2=1465234&view=diff
==============================================================================
--- 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java
 (original)
+++ 
maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/test/java/org/apache/maven/doxia/module/apt/AptParserTest.java
 Sat Apr  6 12:21:13 2013
@@ -513,6 +513,26 @@ public class AptParserTest
          assertFalse( it.hasNext() );
      }

+    public void testLiteralAnchor()
+        throws Exception
+    {
+        // DOXIA-397
+        String text =
+            
"{{{../apidocs/groovyx/net/http/ParserRegistry.html##parseText(org.apache.http.HttpResponse)}ParserRegistry}}";
+
+        SinkEventTestingSink sink = new SinkEventTestingSink();
+
+        parser.parse( text, sink );
+
+        Iterator<SinkEventElement> it = sink.getEventList().iterator();
+        assertEquals( it, "head", "head_", "body", "section1", "sectionTitle1" 
);
+        assertEquals( it.next(), "link",
+                      
"../apidocs/groovyx/net/http/ParserRegistry.html#parseText(org.apache.http.HttpResponse)"
 );
+        assertEquals( it.next(), "text", "ParserRegistry" );
+        assertEquals( it, "link_", "sectionTitle1_", "section1_", "body_" );
+        assertFalse( it.hasNext() );
+    }
+
      /** {@inheritDoc} */
      protected String outputExtension()
      {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to