/** * Create a node handle based on an uri. */ public String getHandle(final String uri) { String cleanedUri = StringUtils.prependIfMissing(StringUtils.removeStart(uri, URIPrefix), "/"); // Remove extension (ignore . anywhere else in the uri) String fileName = StringUtils.substringAfterLast(cleanedUri, "/"); String extension = StringUtils.substringAfterLast(fileName, "."); cleanedUri = StringUtils.removeEnd(cleanedUri, "." + extension); if (StringUtils.isNotEmpty(handlePrefix)) { if (StringUtils.startsWith(cleanedUri,"/")) { String temp = StringUtils.substringAfter(cleanedUri,"/"); temp = StringUtils.substringBefore(temp, "/"); temp = StringUtils.prependIfMissing(temp, "/"); if (StringUtils.isNotEmpty(temp) && temp.equals(handlePrefix)) { // We remove any occurrences of the handle prefix from given URI cleanedUri = StringUtils.removeStart(cleanedUri, handlePrefix); } } // So that we do not double it up afterwards cleanedUri = StringUtils.removeStart(cleanedUri, "/"); cleanedUri = handlePrefix + "/" + cleanedUri; } return cleanHandle(cleanedUri); }
public String getURI(Link uuidLink) { String uri = uuidLink.getPath(); if (StringUtils.isNotEmpty(this.handlePrefix)) { uri = StringUtils.removeStart(uri, this.handlePrefix); } if (StringUtils.isNotEmpty(this.URIPrefix)) { uri = this.URIPrefix + "/" + uri; } String nodeDataName = uuidLink.getPropertyName(); String fileName = uuidLink.getFileName(); String extension = uuidLink.getExtension(); if (StringUtils.isNotEmpty(nodeDataName)) { uri += "/" + nodeDataName; } if (StringUtils.isNotEmpty(fileName)) { uri += "/" + fileName; } if (StringUtils.isNotEmpty(uri) && StringUtils.isNotEmpty(extension) && !StringUtils.endsWith(uri, "/")) { uri += "." + extension; } return cleanHandle(uri); }