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

org.stagemonitor.configuration.converter.UrlValueConverter Maven / Gradle / Ivy

There is a newer version: 1.50.0
Show newest version
package org.stagemonitor.configuration.converter;

import org.stagemonitor.util.StringUtils;

import java.net.MalformedURLException;
import java.net.URL;

public class UrlValueConverter extends AbstractValueConverter {

	public static final ValueConverter INSTANCE = new UrlValueConverter();

	private UrlValueConverter() {
	}

	@Override
	public URL convert(String s) throws IllegalArgumentException {
		try {
			return new URL(StringUtils.removeTrailingSlash(s));
		} catch (MalformedURLException e) {
			throw new IllegalArgumentException(e.getMessage());
		}
	}

	@Override
	public String toString(URL value) {
		if (value == null) {
			return null;
		}
		return value.toString();
	}

	@Override
	public String toSafeString(URL value) {
		if (value == null) {
			return null;
		}
		final String userInfo = value.getUserInfo();
		final String urlAsString = value.toString();
		if (userInfo != null) {
			return urlAsString.replace(userInfo, getSafeUserInfo(userInfo));
		} else {
			return urlAsString;
		}
	}

	private String getSafeUserInfo(String userInfo) {
		return userInfo.split(":", 2)[0] + ":XXX";
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy