diff --git a/etc/result.csv b/etc/result.csv
new file mode 100644
index 0000000..81b325f
--- /dev/null
+++ b/etc/result.csv
@@ -0,0 +1,3 @@
+id,name,incorrect,manually,accurate
+aktie,Aktie,3441,348,5199
+derivat,Derivat,593,9028,1008
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 6119fc8..cfc5511 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,7 +53,7 @@
5.2.0-3
1.28.0-2
1.14.1
- 2.13.3
+ 2.13.4
@@ -109,6 +109,11 @@
everit-json-schema
${everit-json-schema.version}
+
+ com.fasterxml.jackson.dataformat
+ jackson-dataformat-csv
+ ${jackson-dataformat.version}
+
diff --git a/src/main/java/io/jenkins/plugins/reporter/model/Result.java b/src/main/java/io/jenkins/plugins/reporter/model/Result.java
index 97e5c29..eb6ed46 100644
--- a/src/main/java/io/jenkins/plugins/reporter/model/Result.java
+++ b/src/main/java/io/jenkins/plugins/reporter/model/Result.java
@@ -1,6 +1,7 @@
package io.jenkins.plugins.reporter.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -22,10 +23,6 @@ public class Result implements Serializable {
private static final long serialVersionUID = 7878818807240640969L;
private static final String DEFAULT_COLOR = "#9E9E9E";
- public void setName(String name) {
- this.name = name;
- }
-
@JsonProperty(value = "id", required = true)
private String id = String.valueOf(hashCode());
@@ -36,7 +33,7 @@ public void setName(String name) {
@JsonInclude(JsonInclude.Include.NON_NULL)
private List- items;
- @JsonProperty(value = "colors", required = true)
+ @JsonProperty(value = "colors")
@JsonInclude(JsonInclude.Include.NON_NULL)
private Map colors;
@@ -51,7 +48,11 @@ public void setId(String id) {
public String getName() {
return name;
}
-
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
public List
- getItems() {
return items;
}
diff --git a/src/main/java/io/jenkins/plugins/reporter/model/ResultParser.java b/src/main/java/io/jenkins/plugins/reporter/model/ResultParser.java
index 33ea4d5..87cde18 100644
--- a/src/main/java/io/jenkins/plugins/reporter/model/ResultParser.java
+++ b/src/main/java/io/jenkins/plugins/reporter/model/ResultParser.java
@@ -1,6 +1,10 @@
package io.jenkins.plugins.reporter.model;
+import com.fasterxml.jackson.databind.MappingIterator;
import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.csv.CsvFactory;
+import com.fasterxml.jackson.dataformat.csv.CsvMapper;
+import com.fasterxml.jackson.dataformat.csv.CsvSchema;
import com.fasterxml.jackson.dataformat.xml.XmlFactory;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import edu.hm.hafner.echarts.JacksonFacade;
@@ -13,11 +17,8 @@
import org.json.JSONObject;
import org.json.JSONTokener;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Locale;
-import java.util.Optional;
+import java.io.*;
+import java.util.*;
public class ResultParser {
@@ -42,6 +43,37 @@ public Optional parseResult(File file) throws IOException {
case "json":
json = FileUtils.readFileToString(file, "UTF-8");
break;
+ case "csv":
+ CsvMapper mapper = new CsvMapper();
+ CsvSchema csvSchema = mapper.typedSchemaFor(Map.class).withHeader();
+
+ MappingIterator