[
https://issues.apache.org/jira/browse/MSHARED-489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15088658#comment-15088658
]
Hervé Boutemy commented on MSHARED-489:
---------------------------------------
we completely agree: in case of invalid url, not having a warning is more a
problem than rendering the url instead of the text
as I see it, rendering the url was one form of warning, since rendering the
text is a lot less visible
bq. Does this really mean if my URL is http://sdfasf/wow.html or
ftp://sdfsdf/super.html a /index.html is added?
once again, don't ask but write a unit test to show what is curently the
effective result, even if you don't understand why this was done like this
if there is no explanation in code, I don't have it myself either
And I know I refactored code a good number of years ago for this method, then
perhaps you're asking because svn annotate tells I wrote the code, but IIRC, at
that time, I was refactoring to make algorithms easier to understand, but my
first objective was to not change any result, even if I didn't understand some
choices on semantics
> AbstractMavenReportRenderer#linkPatternedText ignores name if href is invalid
> -----------------------------------------------------------------------------
>
> Key: MSHARED-489
> URL: https://issues.apache.org/jira/browse/MSHARED-489
> Project: Maven Shared Components
> Issue Type: Bug
> Components: maven-reporting-impl
> Affects Versions: maven-reporting-impl 2.4
> Reporter: Michael Osipov
>
> Consider this input:
> {noformat}
> {My Text, ftp://host/file.txt} or {My Text, http:/host/file.txt} (typo)
> {noformat}
> The current output simply be {{ftp://host/file.txt}} or
> {{http:/host/file.txt}} but I would expect it to be {{My Text}} in both cases.
> The problem is burried in the current code:
> {code:java}
> for ( Iterator<String> it = segments.iterator(); it.hasNext(); )
> {
> String name = it.next();
> String href = it.next();
> if ( href == null )
> {
> text( name );
> }
> else
> {
> if ( getValidHref( href ) != null )
> {
> link( getValidHref( href ), name );
> }
> else
> {
> text( href );
> }
> }
> }
> {code}
> The invalid {{href}} would be printed out instead of {{name}}. I think the
> code should read:
> {code:java}
> for ( Iterator<String> it = segments.iterator(); it.hasNext(); )
> {
> String name = it.next();
> String href = it.next();
> if ( getValidHref( href ) == null )
> {
> text( name );
> }
> else
> {
> link( getValidHref( href ), name );
> }
> }
> {code}
> Produce link if href isn't null and is valid otherwise add name (text) only.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)