Changeset 5025


Ignore:
Timestamp:
04/23/14 09:18:13 (10 years ago)
Author:
Twan Goosen
Message:

urn:nbn links get prepended with resolver URL

Location:
vlo/branches/vlo-3.0
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • vlo/branches/vlo-3.0/vlo-commons/src/main/java/eu/clarin/cmdi/vlo/FacetConstants.java

    r4814 r5025  
    6060    public static final String FIELD_RESOURCE_SPLIT_CHAR = "|";
    6161    public static final String URN_NBN_PREFIX = "urn:nbn";
     62    public static final String URN_NBN_RESOLVER_URL = "http://www.nbn-resolving.org/redirect/";
    6263}
  • vlo/branches/vlo-3.0/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/HandleLinkModel.java

    r4805 r5025  
    1919import static eu.clarin.cmdi.vlo.FacetConstants.HANDLE_PREFIX;
    2020import static eu.clarin.cmdi.vlo.FacetConstants.HANDLE_PROXY;
     21import static eu.clarin.cmdi.vlo.FacetConstants.URN_NBN_PREFIX;
     22import static eu.clarin.cmdi.vlo.FacetConstants.URN_NBN_RESOLVER_URL;
    2123import org.apache.wicket.model.IModel;
    2224
     
    3840    public String getObject() {
    3941        final String link = linkModel.getObject();
    40         if (link != null && link.toLowerCase().startsWith(HANDLE_PREFIX)) {
    41             return HANDLE_PROXY + link.substring(HANDLE_PREFIX.length());
     42        if (link != null) {
     43            if (link.toLowerCase().startsWith(HANDLE_PREFIX)) {
     44                return HANDLE_PROXY + link.substring(HANDLE_PREFIX.length());
     45            }
     46            if (link.toLowerCase().startsWith(URN_NBN_PREFIX)) {
     47                return URN_NBN_RESOLVER_URL + link;
     48            }
    4249        }
    4350        return link;
     
    5360        linkModel.detach();
    5461    }
    55 
    5662}
  • vlo/branches/vlo-3.0/vlo-web-app/src/test/java/eu/clarin/cmdi/vlo/wicket/model/HandleLinkModelTest.java

    r4805 r5025  
    8282
    8383    @Test
     84    public void testGetObjectWithUrnNbn() {
     85        final IModel<String> inner = context.mock(IModel.class, "String");
     86        final HandleLinkModel instance = new HandleLinkModel(inner);
     87        // model holds a handle
     88        context.checking(new Expectations() {
     89            {
     90                oneOf(inner).getObject();
     91                will(returnValue("urn:nbn:de:kobv:b4-200905193201"));
     92            }
     93        });
     94
     95        final String result = instance.getObject();
     96        // handle proxy should be prepended
     97        assertEquals("http://www.nbn-resolving.org/redirect/urn:nbn:de:kobv:b4-200905193201", result);
     98    }
     99
     100    @Test
    84101    public void testGetObjectWithNull() {
    85102        final IModel<String> inner = context.mock(IModel.class, "String");
Note: See TracChangeset for help on using the changeset viewer.