package at.ac.univie.mminf.qskos4j.issues.language; import at.ac.univie.mminf.qskos4j.result.CollectionResult; import at.ac.univie.mminf.qskos4j.result.Result; import org.openrdf.model.Resource; import java.io.BufferedWriter; import java.io.IOException; import java.util.Collection; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; public class IncompleteLangCovResult extends Result<Map<Resource, Collection<String>>> { IncompleteLangCovResult(Map<Resource, Collection<String>> data) { super(data); } @Override protected void generateTextReport(BufferedWriter writer, ReportStyle style) throws IOException { switch (style) { case SHORT: new CollectionResult<Resource>(getData().keySet()).generateReport(writer, ReportFormat.TXT, ReportStyle.SHORT); break; case EXTENSIVE: writer.write(generateExtensiveTextReport()); break; } } private String generateExtensiveTextReport() { StringBuilder extensiveReport = new StringBuilder(); Iterator<Entry<Resource, Collection<String>>> entryIt = getData().entrySet().iterator(); while (entryIt.hasNext()) { Entry<Resource, Collection<String>> entry = entryIt.next(); extensiveReport.append("concept: '") .append(entry.getKey().stringValue()) .append("', not covered languages: ") .append(entry.getValue().toString()) .append(entryIt.hasNext() ? "\n" : ""); } return extensiveReport.toString(); } @Override public long occurrenceCount() { return getData().size(); } }