Hi Lukas,

Since the code in AptUtils#isExternalLink() ==
DoxiaUtils#isExternalLink(), I suggest to remove the first one.

Cheers,

Vincent

2008/5/23, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:
> Author: ltheussl
>  Date: Fri May 23 04:38:39 2008
>  New Revision: 659507
>
>  URL: http://svn.apache.org/viewvc?rev=659507&view=rev
>  Log:
>  Better definition of external/internal/local links and adaptation in the apt 
> case.
>
>  Modified:
>     
> maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java
>     
> 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/main/java/org/apache/maven/doxia/module/apt/AptUtils.java
>
>  Modified: 
> maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java
>  URL: 
> http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java?rev=659507&r1=659506&r2=659507&view=diff
>  
> ==============================================================================
>  --- 
> maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java
>  (original)
>  +++ 
> maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/util/DoxiaUtils.java
>  Fri May 23 04:38:39 2008
>  @@ -39,6 +39,9 @@
>       *
>       * @param link The link to check.
>       * @return True if the link starts with "#".
>  +     *
>  +     * @see #isExternalLink(String)
>  +     * @see #isLocalLink(String)
>       */
>      public static boolean isInternalLink( String link )
>      {
>  @@ -48,13 +51,16 @@
>      /**
>       * Checks if the given string corresponds to an external URI,
>       * ie is not a link within the same document nor a relative link
>  -     * to another document (a local link).
>  +     * to another document (a local link) of the same site.
>       *
>       * @param link The link to check.
>  -     * @return True if the link (ignoring case) starts with either of the
>  -     * following: "http:/", "https:/", "ftp:/", "mailto:";, "file:/".
>  +     * @return True if the link (ignoring case) starts with either "http:/",
>  +     * "https:/", "ftp:/", "mailto:";, "file:/", or contains the string 
> "://".
>       * Note that Windows style separators "\" are not allowed
>       * for URIs, see  http://www.ietf.org/rfc/rfc2396.txt , section 2.4.3.
>  +     *
>  +     * @see #isInternalLink(String)
>  +     * @see #isLocalLink(String)
>       */
>      public static boolean isExternalLink( String link )
>      {
>  @@ -62,14 +68,19 @@
>
>          return ( text.indexOf( "http:/" ) == 0 || text.indexOf( "https:/" ) 
> == 0
>              || text.indexOf( "ftp:/" ) == 0 || text.indexOf( "mailto:"; ) == 0
>  -            || text.indexOf( "file:/" ) == 0 );
>  +            || text.indexOf( "file:/" ) == 0 || text.indexOf( "://" ) != -1 
> );
>      }
>
>      /**
>  -     * Checks if the given string corresponds to a relative link to another 
> document.
>  +     * Checks if the given string corresponds to a relative link to another 
> document
>  +     * within the same site, ie it is neither an [EMAIL PROTECTED] 
> #isInternalLink(String) internal}
>  +     * nor an [EMAIL PROTECTED] #isExternalLink(String) external} link.
>       *
>       * @param link The link to check.
>       * @return True if the link is neither an external nor an internal link.
>  +     *
>  +     * @see #isExternalLink(String)
>  +     * @see #isInternalLink(String)
>       */
>      public static boolean isLocalLink( String link )
>      {
>
>  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=659507&r1=659506&r2=659507&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
>  Fri May 23 04:38:39 2008
>  @@ -25,6 +25,7 @@
>   import org.apache.maven.doxia.parser.AbstractTextParser;
>   import org.apache.maven.doxia.sink.Sink;
>   import org.apache.maven.doxia.sink.SinkAdapter;
>  +import org.apache.maven.doxia.sink.SinkEventAttributeSet;
>   import org.apache.maven.doxia.util.DoxiaUtils;
>
>   import org.codehaus.plexus.util.IOUtil;
>  @@ -433,7 +434,7 @@
>                                  linkAnchor = getTraversedLink( text, i + 1, 
> end );
>                              }
>
>  -                            if ( !AptUtils.isExternalLink( linkAnchor ) )
>  +                            if ( AptUtils.isInternalLink( linkAnchor ) )
>                              {
>                                  linkAnchor = "#" + linkAnchor;
>                              }
>  @@ -2209,7 +2210,7 @@
>          public void traverse()
>              throws AptParseException
>          {
>  -            AptParser.this.sink.verbatim( boxed );
>  +            AptParser.this.sink.verbatim( SinkEventAttributeSet.BOXED );
>              // TODO: filter out lineBreak
>              AptParser.this.sink.text( text );
>              AptParser.this.sink.verbatim_();
>
>  Modified: 
> maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptUtils.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/AptUtils.java?rev=659507&r1=659506&r2=659507&view=diff
>  
> ==============================================================================
>  --- 
> maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptUtils.java
>  (original)
>  +++ 
> maven/doxia/doxia/trunk/doxia-modules/doxia-module-apt/src/main/java/org/apache/maven/doxia/module/apt/AptUtils.java
>  Fri May 23 04:38:39 2008
>  @@ -54,13 +54,18 @@
>
>      /**
>       * Checks if the given string corresponds to an external URI,
>  -     * ie is not a link within the same document.
>  +     * ie is not a link within the same document nor a link to another
>  +     * document on the same filesystem.
>       *
>       * @param link The link to check.
>       * @return True if the link (ignoring case) starts with either "http:/",
>  -     * "https:/", "ftp:/", "mailto:";, "file:/", "../", "./" or contains the
>  -     * string "://". Note that Windows style separators "\" are not allowed
>  +     * "https:/", "ftp:/", "mailto:";, "file:/", or contains the string 
> "://".
>  +     * Note that Windows style separators "\" are not allowed
>       * for URIs, see  http://www.ietf.org/rfc/rfc2396.txt , section 2.4.3.
>  +     *
>  +     * @see org.apache.maven.doxia.util.DoxiaUtils#isExternalLink(String)
>  +     * @see #isInternalLink(String)
>  +     * @see #isLocalLink(String)
>       */
>      public static boolean isExternalLink( String link )
>      {
>  @@ -68,8 +73,40 @@
>
>          return ( text.indexOf( "http:/" ) == 0 || text.indexOf( "https:/" ) 
> == 0
>              || text.indexOf( "ftp:/" ) == 0 || text.indexOf( "mailto:"; ) == 0
>  -            || text.indexOf( "file:/" ) == 0 || text.indexOf( "../" ) == 0
>  -            || text.indexOf( "./" ) == 0 || text.indexOf( "://" ) != -1 );
>  +            || text.indexOf( "file:/" ) == 0 || text.indexOf( "://" ) != -1 
> );
>  +    }
>  +
>  +    /**
>  +     * Checks if the given string corresponds to an internal link,
>  +     * ie it is a link to an anchor within the same document.
>  +     *
>  +     * @param link The link to check.
>  +     * @return True if link is neither an [EMAIL PROTECTED] 
> #isExternalLink(String) external}
>  +     * nor a [EMAIL PROTECTED] #isLocalLink(String) local} link.
>  +     *
>  +     * @see org.apache.maven.doxia.util.DoxiaUtils#isInternalLink(String)
>  +     * @see #isExternalLink(String)
>  +     * @see #isLocalLink(String)
>  +     */
>  +    public static boolean isInternalLink( String link )
>  +    {
>  +        return ( !isExternalLink( link ) && !isLocalLink( link ) );
>  +    }
>  +
>  +    /**
>  +     * Checks if the given string corresponds to a relative link to another 
> document
>  +     * within the same site.
>  +     *
>  +     * @param link The link to check.
>  +     * @return True if the link starts with either "/", "./" or "../".
>  +     *
>  +     * @see org.apache.maven.doxia.util.DoxiaUtils#isLocalLink(String)
>  +     * @see #isExternalLink(String)
>  +     * @see #isInternalLink(String)
>  +     */
>  +    public static boolean isLocalLink( String link )
>  +    {
>  +        return ( link.startsWith( "/" ) || link.startsWith( "./" ) || 
> link.startsWith( "../" ) );
>      }
>
>      /**
>
>
>

Reply via email to