com.redfin.sitemapgenerator.UrlUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sitemapgen4j Show documentation
Show all versions of sitemapgen4j Show documentation
SitemapGen4j is an XML sitemap generator written in Java.
package com.redfin.sitemapgenerator;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class UrlUtils {
private static Map ENTITIES = new HashMap();
static {
ENTITIES.put("&", "&");
ENTITIES.put("'", "'");
ENTITIES.put("\"", """);
ENTITIES.put(">", ">");
ENTITIES.put("<", "<");
}
private static Pattern PATTERN = Pattern.compile("(&|'|\"|>|<)");
static String escapeXml(String string){
Matcher matcher = PATTERN.matcher(string);
StringBuffer sb = new StringBuffer();
while(matcher.find()) {
matcher.appendReplacement(sb, ENTITIES.get(matcher.group(1)));
}
matcher.appendTail(sb);
return sb.toString();
}
static void checkUrl(URL url, URL baseUrl) {
// Is there a better test to use here?
if (baseUrl.getHost() == null) {
throw new RuntimeException("base URL is null");
}
if (!baseUrl.getHost().equalsIgnoreCase(url.getHost())) {
throw new RuntimeException("Domain of URL " + url + " doesn't match base URL " + baseUrl);
}
}
static HashMap newHashMap() {
return new HashMap();
}
}