in src/main/java/org/apache/maven/report/projectinfo/LicensesReport.java [372:402]
private static String replaceParts(
String html, String baseURL, String serverURL, String tagPattern, String attributePattern) {
Pattern anchor = Pattern.compile(
"(<\\s*" + tagPattern + "\\s+[^>]*" + attributePattern + "\\s*=\\s*\")([^\"]*)\"([^>]*>)");
StringBuilder sb = new StringBuilder(html);
int indx = 0;
boolean done = false;
while (!done) {
Matcher mAnchor = anchor.matcher(sb);
if (mAnchor.find(indx)) {
indx = mAnchor.end(3);
if (mAnchor.group(2).startsWith("#")) {
// relative link - don't want to alter this one!
}
if (mAnchor.group(2).startsWith("/")) {
// root link
sb.insert(mAnchor.start(2), serverURL);
indx += serverURL.length();
} else if (mAnchor.group(2).indexOf(':') < 0) {
// relative link
sb.insert(mAnchor.start(2), baseURL);
indx += baseURL.length();
}
} else {
done = true;
}
}
return sb.toString();
}