package com.prime.sony.ecommerce.util;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

public class StringUtil {

	public static String strValidate(String value) {
		if (null == value || value.trim().equals(""))
			return "null";
		else {
			// value=value.trim().replaceAll(",", " ");
			value = value.replaceAll("\"", "");
			value = "\"" + value + "\"";
			return value;
		}
	}

	public static String strTrim(String value) {
		if (null == value || value.trim().equals(""))
			return "";
		else {
			value = value.trim().replaceAll(",", " ");
			// value = value.replaceAll("[^a-zA-Z0-9]", " ");
			return value;
		}
	}

	public static String onlyPhoneNumber(String value) {
		if (null == value || value.trim().equals("")) {
			return "";
		} else {
			return value.replaceAll("[^^()0-9-]", " ").trim();
		}
	}

	public static String strCommentValidate(String value) {
		if (null == value || value.trim().equals("")) {
			return "";
		} else {
			// value=value.trim().replaceAll(",", " ");
			value = value.replaceAll("[,\r\n\"]", " ");
			return value;
		}
	}

	public static String strValidateNull(String value) {
		if (null == value || value.trim().equals("")) {
			return "";
		}
		return value;
	}

	public static String replaceComma(String value) {
		if (null == value || value.trim().equals(""))
			return "";
		else {
			value = value.trim().replaceAll(",", ";");
			// value = value.replaceAll("[^a-zA-Z0-9]", " ");
			return value;
		}
	}

	public static String validateDefaultText(String value) {
		if (null == value || value.trim().equals(""))
			return "";
		else {
			value = value.replaceAll("\"", " ");
			return value;
		}
	}

	public static String validateCategory(String value) {
		if (null == value || value.trim().equals(""))
			return "null";
		else {
			// value = value.replaceAll("%7C", "|").replaceAll("%3E", ">").replaceAll("%27",
			// "'").replaceAll("\\?", ",").replaceAll("\\+", " ").replaceAll("\"", "");
			value = decode(value);
			value = value.replaceAll("\"", "");
			value = value.replaceAll("&amp", "&");
			value = "\"" + value + "\"";
			return value;
		}
	}

	public static String decode(String url) {
		try {
			String prevURL = "";
			String decodeURL = url;
			while (!prevURL.equals(decodeURL)) {
				prevURL = decodeURL;
				decodeURL = URLDecoder.decode(decodeURL, "UTF-8");
			}
			return decodeURL;
		} catch (UnsupportedEncodingException e) {
			return "Issue while decoding" + e.getMessage();
		}
	}

}
