On 02/02/2010 04:46 PM, Thomas Mortagne wrote:
On Tue, Feb 2, 2010 at 16:25, Sergiu
Dumitriu<sergiu(a)xwiki.com> wrote:
On 02/02/2010 03:51 PM, vmassol (SVN) wrote:
Author: vmassol
Date: 2010-02-02 15:51:13 +0100 (Tue, 02 Feb 2010)
New Revision: 26602
Added:
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/internal/renderer/AttachURILabelGenerator.java
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/internal/renderer/MailtoURILabelGenerator.java
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/renderer/URILabelGenerator.java
Modified:
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/pom.xml
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/internal/renderer/DefaultLinkLabelGenerator.java
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/internal/renderer/xhtml/DefaultXHTMLLinkRenderer.java
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/resources/META-INF/components.txt
platform/core/trunk/xwiki-rendering/xwiki-rendering-tests/src/test/java/org/xwiki/rendering/SimpleRenderingTests.java
Log:
XWIKI-4839: Improve labels for mailto and attach links
* Refactored to make the implementation more generic...
Modified: platform/core/trunk/xwiki-rendering/xwiki-rendering-api/pom.xml
===================================================================
--- platform/core/trunk/xwiki-rendering/xwiki-rendering-api/pom.xml 2010-02-02 14:38:44
UTC (rev 26601)
+++ platform/core/trunk/xwiki-rendering/xwiki-rendering-api/pom.xml 2010-02-02 14:51:13
UTC (rev 26602)
@@ -132,6 +132,9 @@
**/rendering/internal/macro/*.java,
**/rendering/internal/parser/*.java,
**/rendering/internal/renderer/BasicLinkRenderer.java,
It's a pity that we must manually list all the checked files...
Actually we don't need to list checked files, we list here because we
don't want to check all files.
I know, it's not "we need because we can't", but "we need because
we
do". In this project we're using both includes and excludes, when we
could be using only excludes.
>
>> + **/rendering/internal/renderer/DefaultLinkLabelGenerator.java,
>> + **/rendering/internal/renderer/AttachURILabelGenerator.java,
>> + **/rendering/internal/renderer/MailtoURILabelGenerator.java,
>> **/rendering/listener/*.java,
>> **/rendering/listener/chaining/AbstractChainingListener.java,
>> **/rendering/listener/chaining/ChainingListener.java,
>
>> Added:
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/internal/renderer/MailtoURILabelGenerator.java
>> ===================================================================
>> ---
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/internal/renderer/MailtoURILabelGenerator.java
(rev 0)
>> +++
platform/core/trunk/xwiki-rendering/xwiki-rendering-api/src/main/java/org/xwiki/rendering/internal/renderer/MailtoURILabelGenerator.java
2010-02-02 14:51:13 UTC (rev 26602)
>> +@Component("mailto")
>> +public class MailtoURILabelGenerator implements URILabelGenerator
>> +{
>> + /**
>> + * The MAILTO URI prefix (the scheme followed by ":").
>> + */
>> + private static final String MAILTO = "mailto:";
>> +
>> + /**
>> + * {@inheritDoc}
>> + * @see
org.xwiki.rendering.renderer.URILabelGenerator#generateLabel(org.xwiki.rendering.listener.Link)
>> + */
>> + public String generateLabel(Link link)
>> + {
>> + String label = link.getReference().substring(MAILTO.length());
>
> StringUtils.removeStart(label, MAILTO) is safer.
>
>> + // Also remove the query string part from the label (we only want the
email address).
>
> return StringUtils.substringBefore("?") is shorter.
>
>> + int queryStringPosition = label.indexOf("?");
>> + if (queryStringPosition> -1) {
>> + label = label.substring(0, queryStringPosition);
>> + }
>> + return label;
>> + }
>> +}
--
Sergiu Dumitriu
http://purl.org/net/sergiu/