@Override protected boolean isExcludedFromFailure(final Duplication errorDetail) { final Set<String> uniquePaths = new HashSet<String>(); for (final CpdFile cpdFile : errorDetail.getFiles()) { uniquePaths.add(cpdFile.getPath()); } for (final Set<String> singleExclusionGroup : exclusionList) { if (uniquePaths.size() == singleExclusionGroup.size() && duplicationExcludedByGroup(uniquePaths, singleExclusionGroup)) { return true; } } return false; }
/** {@inheritDoc} */ protected void printError(Duplication item, String severity) { int lines = item.getLines(); StringBuilder buff = new StringBuilder(100); buff.append("CPD " + severity + ": Found "); buff.append(lines).append(" lines of duplicated code at locations:"); this.getLog().info(buff.toString()); for (CpdFile file : item.getFiles()) { buff.setLength(0); buff.append(" "); buff.append(file.getPath()); buff.append(" line ").append(file.getLine()); this.getLog().info(buff.toString()); } this.getLog().debug("CPD " + severity + ": Code Fragment "); this.getLog().debug(item.getCodefragment()); }