package at.ac.univie.mminf.qskos4j.issues.labels.util;
import at.ac.univie.mminf.qskos4j.result.CollectionResult;
import org.openrdf.model.Resource;
import java.io.BufferedWriter;
import java.io.IOException;
import java.util.Collection;
import java.util.HashSet;
public class LabelConflictsResult extends CollectionResult<LabelConflict> {
public LabelConflictsResult(Collection<LabelConflict> data) {
super(data);
}
@Override
public void generateTextReport(BufferedWriter writer, ReportStyle style) throws IOException {
if (style == ReportStyle.SHORT) {
writer.write("count: " +getDistinctConcepts().size()+ "\n");
}
else if (style == ReportStyle.EXTENSIVE) {
generateExtensiveTextReport(writer);
}
}
private Collection<Resource> getDistinctConcepts() {
Collection<Resource> distinctConcepts = new HashSet<Resource>();
for (LabelConflict labelConflict : getData()) {
for (Resource labeledConcept : labelConflict.getAffectedResources()) {
distinctConcepts.add(labeledConcept);
}
}
return distinctConcepts;
}
private void generateExtensiveTextReport(BufferedWriter writer) throws IOException {
for (LabelConflict labelConflict : getData()) {
writer.write(labelConflict.toString());
writer.write("\n");
}
}
}