public static String getDefaultPackageName(String targetNamespace)
{
if (targetNamespace == null)
return null;
URI uri = URI.createURI(targetNamespace);
List parsedName;
if (uri.isHierarchical())
{
String host = uri.host();
if (host != null && host.startsWith("www."))
{
host = host.substring(4);
}
parsedName = parseNameStatic(host, '.');
Collections.reverse(parsedName);
if (!parsedName.isEmpty())
{
parsedName.set(0, ((String)parsedName.get(0)).toLowerCase());
}
parsedName.addAll(parseNameStatic(uri.trimFileExtension().path(), '/'));
}
else
{
String opaquePart = uri.opaquePart();
int index = opaquePart.indexOf(":");
if (index != -1 && "urn".equalsIgnoreCase(uri.scheme()))
{
parsedName = parseNameStatic(opaquePart.substring(0, index), '-');
if (parsedName.size() > 0 && DOMAINS.contains(parsedName.get(parsedName.size() - 1)))
{
Collections.reverse(parsedName);