From 1231b5a1de0ca4d1b00171dc8117a8a33356cd11 Mon Sep 17 00:00:00 2001 From: "Lange, Dr. Herbert" <herbert.lange@uni-hamburg.de> Date: Mon, 16 May 2022 10:45:50 +0200 Subject: [PATCH] add method to dump report to json --- .../java/de/uni_hamburg/corpora/Report.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/main/java/de/uni_hamburg/corpora/Report.java b/src/main/java/de/uni_hamburg/corpora/Report.java index eda5fab3..7facbd43 100644 --- a/src/main/java/de/uni_hamburg/corpora/Report.java +++ b/src/main/java/de/uni_hamburg/corpora/Report.java @@ -9,10 +9,18 @@ */ package de.uni_hamburg.corpora; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; import de.uni_hamburg.corpora.ReportItem.Severity; + +import java.io.File; +import java.io.IOException; import java.text.MessageFormat; import java.text.SimpleDateFormat; import java.util.*; + import org.jdom.JDOMException; /** @@ -679,4 +687,20 @@ public class Report { return line; } + /** + * Dumps the complete report into a JSON file + * @param filename the filename of the target JSON file + */ + public void dump(String filename) { + // Generate pretty-printed json + ObjectMapper mapper = new ObjectMapper(); + // Allows serialization even when getters are missing + mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY); + mapper.configure(SerializationFeature.INDENT_OUTPUT,true); + try { + mapper.writeValue(new File(filename),this.getRawStatistics()); + } catch (IOException e) { + e.printStackTrace(); + } + } } -- GitLab