All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.redfin.sitemapgenerator.UrlUtils Maven / Gradle / Ivy

There is a newer version: 1.1.2
Show newest version
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();
	}
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy