package org.archive.url; import org.apache.commons.httpclient.URIException; public class WaybackURLKeyMaker implements URLKeyMaker { // URLCanonicalizer canonicalizer = new NonMassagingIAURLCanonicalizer(); URLCanonicalizer canonicalizer = new DefaultIAURLCanonicalizer(); public String makeKey(String url) { if(url == null) { return "-"; } if(url.length() == 0) { return "-"; } if(url.startsWith("filedesc")) { return url; } if(url.startsWith("warcinfo")) { return url; } if(url.startsWith("dns:")) { String authority = url.substring(4); String surt = URLRegexTransformer.hostToSURT(authority); return surt + ")"; } HandyURL hURL; try { hURL = URLParser.parse(url); canonicalizer.canonicalize(hURL); String key = hURL.getURLString(true, false); int parenIdx = key.indexOf('('); if(parenIdx == -1) { // something very wrong.. return url; } return key.substring(parenIdx+1); } catch (URIException e) { e.printStackTrace(); } return url; } }