/** * Get the uri to use for this handle. */ public String getURI(String repository, String handle) { try { return getURI(LinkUtil.createLinkInstance(repository, handle, null, null, null)); } catch (LinkException e) { log.error("can't map [{}] to a uri", handle, e); } return handle; }
public String linkPrefix(Node content) { if (!MgnlContext.isWebContext()) { return MgnlContext.getContextPath(); } String fullLinkToPage = link(content); String pagePath = Components.getComponent(URI2RepositoryManager.class).getURI(LinkUtil.createLinkInstance(content)); int ndx = fullLinkToPage.length(); for (int cnt = StringUtils.countMatches(pagePath, "/"); cnt > 0; cnt--) { ndx = fullLinkToPage.lastIndexOf('/', ndx - 1); } return fullLinkToPage.substring(0, ndx); }
@Override public String transform(Link uuidLink) { String linkStr; if (useURI2RepositoryMapping) { linkStr = getURI2RepositoryManager().getURI(uuidLink); } else { linkStr = getURI2RepositoryManager().getDefaultMapping().getURI(uuidLink); } linkStr += getURISuffix(uuidLink); if (useI18N) { linkStr = localizeURI(linkStr, locale); } linkStr = prefixLink(linkStr); return linkStr; }
/** * {@inheritDoc} */ @Override public String transform(Link uuidLink) { String linkStr; if (useURI2RepositoryMapping) { linkStr = getURI2RepositoryManager().getURI(uuidLink); } else { linkStr = getURI2RepositoryManager().getDefaultMapping().getURI(uuidLink); } linkStr += getURISuffix(uuidLink); if (useI18N) { linkStr = Components.getComponent(I18nContentSupport.class).toI18NURI(linkStr); } linkStr = prefixLink(linkStr); return linkStr; }
@Test public void testGetURIWhenLinkIsNotEditorBinaryLinkAndPrefixHandleIsSet() throws Exception { when(property.getParent()).thenReturn(node); when(node.isNodeType(NodeTypes.Resource.NAME)).thenReturn(false); Link link = new Link(); link.setPath("contact/pepa/image_file"); link.setPropertyName("file"); link.setFileName("fileName"); link.setExtension("ext"); link.setWorkspace("data"); link.setJCRNode(node); URI2RepositoryManager uri2RepositoryManager = new URI2RepositoryManager(); uri2RepositoryManager.addMapping(new URI2RepositoryMapping("/data", "data", "/blabla")); ComponentsTestUtil.setInstance(URI2RepositoryManager.class, uri2RepositoryManager); assertEquals("/contact/pepa/image_file/file/fileName.ext", URI2RepositoryManager.getInstance().getURI(link)); } }
@Test public void testGetURIWhenLinkIsEditorBinaryLinkAndPrefixHandleIsSet() throws Exception { when(property.getParent()).thenReturn(node); when(node.isNodeType(NodeTypes.Resource.NAME)).thenReturn(true); Link link = new Link(); link.setPath("contact/pepa/image_file"); link.setPropertyName("file"); link.setFileName("fileName"); link.setExtension("ext"); link.setWorkspace("data"); link.setProperty(property); link.setJCRNode(node); URI2RepositoryManager uri2RepositoryManager = new URI2RepositoryManager(); uri2RepositoryManager.addMapping(new URI2RepositoryMapping("/data", "data", "/blabla")); ComponentsTestUtil.setInstance(URI2RepositoryManager.class, uri2RepositoryManager); assertEquals("/data/contact/pepa/image_file/file/fileName.ext", URI2RepositoryManager.getInstance().getURI(link)); }