Changeset 6136


Ignore:
Timestamp:
04/09/15 13:29:03 (9 years ago)
Author:
Twan Goosen
Message:

Customised link parser for field values
Fixes #625

File:
1 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.2-ticket575/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/SmartLinkFieldValueLabel.java

    r6046 r6136  
    1919import org.apache.wicket.extensions.markup.html.basic.DefaultLinkParser;
    2020import org.apache.wicket.extensions.markup.html.basic.ILinkParser;
     21import org.apache.wicket.extensions.markup.html.basic.LinkParser;
    2122import org.apache.wicket.extensions.markup.html.basic.SmartLinkLabel;
    2223import org.apache.wicket.markup.ComponentTag;
    2324import org.apache.wicket.markup.MarkupStream;
    2425import org.apache.wicket.model.IModel;
     26
     27import static org.apache.wicket.extensions.markup.html.basic.DefaultLinkParser.URL_RENDER_STRATEGY;
    2528
    2629/**
     
    5659     */
    5760    protected ILinkParser getLinkParser() {
    58         return new DefaultLinkParser();
     61        return new VloLinkParser();
    5962    }
    6063
     
    6972    }
    7073
     74    /**
     75     * Adapted version of {@link DefaultLinkParser} that does not parse e-mail
     76     * addresses (to prevent false classifications of handle URIs containing an
     77     * {@code @})
     78     */
     79    private static class VloLinkParser extends LinkParser {
     80
     81        /**
     82         * URL pattern adapted from {@link DefaultLinkParser}; added the @ in
     83         * the second part of the URI for cases like
     84         * {@code hdl.handle.net/abc-123@format=cmdi}.
     85         */
     86        private static final String urlPattern = "([a-zA-Z]+://[\\w\\.\\-\\:\\/~]+)[\\w\\.:\\-/?&=%@]*";
     87
     88        public VloLinkParser() {
     89            addLinkRenderStrategy(urlPattern, URL_RENDER_STRATEGY);
     90        }
     91
     92    }
     93
    7194}
Note: See TracChangeset for help on using the changeset viewer.