Changeset 1050


Ignore:
Timestamp:
01/10/11 15:10:02 (13 years ago)
Author:
patdui
Message:
Location:
vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/FacetConstants.java

    r1043 r1050  
    2020    public static final String RESOURCE_TYPE_IMAGE = "image";
    2121    public static final String RESOURCE_TYPE_ANNOTATION = "annotation";
     22   
     23    public static final String HANDLE_PREFIX = "hdl";
     24    public static final String TEST_HANDLE_PREFIX = "test-hdl";
    2225
    2326}
  • vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/Resources.java

    r1007 r1050  
    1212    public final static String NO_RESOURCE_FOUND = "noResourceFound";
    1313    public static final String VALUE = "value";
    14     public static final String RESULTS = "results";   
     14    public static final String RESULTS = "results";
     15    public static final String OPEN_IN_ORIGINAL_CONTEXT = "openInOriginalContext";   
    1516   
    1617
  • vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ResourceLinkPanel.java

    r1049 r1050  
    11package eu.clarin.cmdi.vlo.pages;
    22
    3 import java.net.MalformedURLException;
    4 import java.net.URL;
    53import java.util.HashMap;
    64import java.util.Map;
     
    119import org.apache.wicket.markup.html.panel.Panel;
    1210import org.apache.wicket.resource.ContextRelativeResource;
    13 import org.slf4j.Logger;
    14 import org.slf4j.LoggerFactory;
    1511
    1612import eu.clarin.cmdi.vlo.CommonUtils;
     
    1915
    2016public class ResourceLinkPanel extends Panel {
    21     private final static Logger LOG = LoggerFactory.getLogger(ResourceLinkPanel.class);
    2217
    2318    private static final long serialVersionUID = 1L;
     
    2924    private final static ImageResource TEXT = new ImageResource(new ContextRelativeResource("Images/text-x-generic.png"), "Text file");
    3025    private final static ImageResource VIDEO = new ImageResource(new ContextRelativeResource("Images/video-x-generic.png"), "Video file");
    31     private static final String HANDLE_PREFIX = "hdl";
    3226
    3327    private final static Map<String, ImageResource> ICON_MAP = new HashMap<String, ImageResource>();
     
    5448    private String getHref(String resourceLink) {
    5549        String result = resourceLink;
    56         try {
    57             URL url = new URL(resourceLink);
    58             String protocol = url.getProtocol();
    59             if (HANDLE_PREFIX.equalsIgnoreCase(protocol)) {
     50        if (resourceLink != null) {
     51            if (resourceLink.startsWith(FacetConstants.HANDLE_PREFIX)) {
    6052                result = Configuration.getInstance().getHandleServerUrl() + resourceLink;
    6153            }
    62         } catch (MalformedURLException e) {
    63             LOG.debug("URL error", e);
    64             //ignore exception, just show the original link, perhaps the user can do something with, we cannot do anything else.
    6554        }
    6655        return result;
  • vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.html

    r1007 r1050  
    55<wicket:extend>
    66        <div class="endgame"><br>
    7         <div><a wicket:id="backLink" href="#"><wicket:message key="backToResult">[back]</wicket:message></a>&nbsp;|&nbsp;<a wicket:id="openBrowserLink"
    8                 href="#"><wicket:message key="openInOriginalContext" >[open]</wicket:message></a>
     7        <div><a wicket:id="backLink" href="#"><wicket:message key="backToResult">[back]</wicket:message></a>&nbsp;|&nbsp;
     8        <a wicket:id="openBrowserLink"></a>
    99        <p />
    1010        </div>
  • vlo/trunk/vlo_webapp/src/main/java/eu/clarin/cmdi/vlo/pages/ShowResultPage.java

    r1007 r1050  
    11package eu.clarin.cmdi.vlo.pages;
    22
     3import java.net.MalformedURLException;
     4import java.net.URL;
    35import java.util.Collection;
    46
     
    2426import org.apache.wicket.model.ResourceModel;
    2527import org.apache.wicket.protocol.http.WicketURLEncoder;
     28import org.slf4j.Logger;
     29import org.slf4j.LoggerFactory;
    2630
    2731import eu.clarin.cmdi.vlo.Configuration;
     
    3337public class ShowResultPage extends BasePage {
    3438
     39    private final static Logger LOG = LoggerFactory.getLogger(ShowResultPage.class);
     40
    3541    public static final String PARAM_DOC_ID = "docId";
    3642
     
    4147        BookmarkablePageLink backLink = new BookmarkablePageLink("backLink", FacetedSearchPage.class, query.getPageParameters());
    4248        add(backLink);
    43         String handle = docId.substring("test-".length());
    44         add(new ExternalLink("openBrowserLink", Configuration.getInstance().getIMDIBrowserUrl(handle)));
     49        String href = getHref(docId);
     50        if (href != null) {
     51            add(new ExternalLink("openBrowserLink", href, new ResourceModel(Resources.OPEN_IN_ORIGINAL_CONTEXT).getObject()));
     52        } else {
     53            add(new Label("openBrowserLink", ""));
     54        }
    4555        addPrevNextLabels(docId, query);
    4656        SolrDocument solrDocument = DaoLocator.getSearchResultsDao().getSolrDocument(docId);
    4757        addAttributesTable(solrDocument);
    4858        addResourceLinks(solrDocument);
     59    }
     60
     61    private String getHref(String linkToOriginalContext) {
     62        String result = linkToOriginalContext;
     63        if (linkToOriginalContext != null) {
     64            if (linkToOriginalContext.startsWith(FacetConstants.TEST_HANDLE_PREFIX)) {
     65                linkToOriginalContext = linkToOriginalContext.replace(FacetConstants.TEST_HANDLE_PREFIX, FacetConstants.HANDLE_PREFIX);
     66            }
     67            if (linkToOriginalContext.startsWith(FacetConstants.HANDLE_PREFIX)) {
     68                result = Configuration.getInstance().getIMDIBrowserUrl(linkToOriginalContext);
     69            } else {
     70                try {
     71                    new URL(linkToOriginalContext);
     72                } catch (MalformedURLException e) {
     73                    LOG.debug("Link to original context is incorrect:", e);
     74                    result = null;
     75                }
     76            }
     77        }
     78        return result;
    4979    }
    5080
Note: See TracChangeset for help on using the changeset viewer.