in velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/LinkTool.java [1004:1045]
protected URI createURI()
{
try
{
// fail if there was an error in setting the port
if (port > -2)
{
if (opaque)
{
if (query != null && query.size() > 0)
{
getLog().warn("Ignoring given parameters in opaque URI: {}", getQuery());
}
// path is used as scheme-specific part
return new URI(scheme, path, fragment);
}
else if (forceRelative)
{
if (path == null && query == null && fragment == null)
{
return null;
}
return new URI(null, null, null, -1, path, toQuery(query), fragment);
}
else
{
// only create the URI if we have some values besides a port
if (scheme == null && user == null && host == null
&& path == null && query == null && fragment == null)
{
return null;
}
return new URI(scheme, user, host, port, path, toQuery(query), fragment);
}
}
}
catch (Exception e)
{
getLog().error("Could not create URI", e);
}
return null;
}