[ http://jira.codehaus.org/browse/MCHANGELOG-48?page=comments#action_74047 
] 
            
Giorgio Urto commented on MCHANGELOG-48:
----------------------------------------

I have a look at the source code of the class ChangeLogReport.
I believe that the problem is located in the method getAbsolutePath when it 
test if ( baseToken.equals( targetRoot ) )

    /**
     * calculates the path from a base directory to a target file
     *
     * @param base   base directory to create the absolute path from
     * @param target target file to create the absolute path to
     */
    private String getAbsolutePath( final String base, final String target )
    {
        String absPath = "";

        StringTokenizer baseTokens = new StringTokenizer( base.replaceAll( 
"\\\\", "/" ), "/", true );

        StringTokenizer targetTokens = new StringTokenizer( target.replaceAll( 
"\\\\", "/" ), "/" );

        String targetRoot = targetTokens.nextToken();

        while ( baseTokens.hasMoreTokens() )
        {
            String baseToken = baseTokens.nextToken();

            if ( baseToken.equals( targetRoot ) )
            {
                break;
            }

            absPath += baseToken;
        }

Is this correct?

However a code like the following is better,  because in each iteration, the 
String is converted to a StringBuffer, appended to, and converted back to a 
String. This can lead to a cost quadratic in the number of iterations, as the 
growing string is recopied in each iteration.
Better performance can be obtained by using a StringBuffer explicitly. (this 
comment is taken from FindBugs)
 
  StringBuffer buf = new StringBuffer();
  for (int i = 0; i < field.length; ++i) {
    buf.append(field[i]);
  }
  String s = buf.toString();
 
Thank You

Giorgio

     

> The link generated in the report contain only one occurrence if a duplicated 
> word is used in the scm repository url.
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: MCHANGELOG-48
>                 URL: http://jira.codehaus.org/browse/MCHANGELOG-48
>             Project: Maven 2.x Changelog Plugin
>          Issue Type: Bug
>    Affects Versions: 2.0-beta-1
>            Reporter: Giorgio Urto
>            Priority: Minor
>
> We have chose this svn repository layout
> <product>
> <component 1>
> .....
> <component n>
> where <product> is a svn repository, and <component 1..n > are directory 
> having each one it's trunk, tags and branch.
> If the product have only one component, we have product and component with 
> equals names.
> es:  http://mysubversion/workarea/lgrefapp/lgrefapp/trunk
>          where:
>                - workarea is the root directory of all the products 
>                - the first occurrence of lgrefapp is the product
>                - the second  occurrence of lgrefapp is the component
>  
> The link generated by changelog report contains only one occurrence of 
> lgrefapp
> es: http://mysubversion/workarea/lgrefapp/trunk/.....
> So the links are broken.
> Thank you 
> Giorgio
> Here are my configurations:
> <scm>
>     <url>http://mysubversion/viewvc/lgrefapp/lgrefapp/trunk</url>
>     
> <connection>scm:svn:http://mysubversion/workarea/lgrefapp/lgrefapp/trunk</connection>
> <developerConnection>scm:svn:http://[EMAIL 
> PROTECTED]/workarea/lgrefapp/lgrefapp/trunk</developerConnection>
>   </scm>
> <!-- CHANGELOG PLUGIN -->
>  <plugin>
>   <groupId>org.apache.maven.plugins</groupId> 
>   <artifactId>maven-changelog-plugin</artifactId> 
>   <version>2.0-SNAPSHOT</version> 
>         <reportSets>
>           <reportSet>
>             <id>dual-report</id>
>             <configuration>
>               <type>range</type>
>               <range>365</range>
>               <!--<dateFormat>dd-MM-yyyy</dateFormat>-->                      
>      
>             </configuration>
>             <reports>
>               <report>changelog</report>
>               <report>file-activity</report>
>               <report>dev-activity</report>              
>             </reports>
>           </reportSet>
>         </reportSets>
>  </plugin>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to