in src/main/java/org/apache/maven/plugins/pmd/CpdReportRenderer.java [109:139]
private void generateFileLine(CpdFile duplicationMark) {
// Get information for report generation
String filename = duplicationMark.getPath();
File file = new File(filename);
PmdFileInfo fileInfo = files.get(file);
File sourceDirectory = fileInfo.getSourceDirectory();
filename = StringUtils.substring(
filename, sourceDirectory.getAbsolutePath().length() + 1);
String xrefLocation = fileInfo.getXrefLocation();
MavenProject projectFile = fileInfo.getProject();
int line = duplicationMark.getLine();
sink.tableRow();
tableCell(filename);
if (aggregate) {
tableCell(projectFile.getName());
}
sink.tableCell();
if (xrefLocation != null) {
sink.link(xrefLocation + "/"
+ filename.replaceAll("\\.java$", ".html").replace('\\', '/') + "#L" + line);
}
sink.text(String.valueOf(line));
if (xrefLocation != null) {
sink.link_();
}
sink.tableCell_();
sink.tableRow_();
}