private static String replaceParts()

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();
        }