package com.scss.utils.scssLint;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
public class Lint {
// public File file;
//
// public static Lint read(String xml) {
// XStream xstream = new XStream();
// xstream.alias("lint", Lint.class);
// xstream.alias("file", File.class);
// xstream.alias("issue", Issue.class);
// xstream.addImplicitCollection(File.class, "issues");
// xstream.useAttributeFor(File.class, "name");
// xstream.useAttributeFor(Issue.class, "linter");
// xstream.useAttributeFor(Issue.class, "line");
// xstream.useAttributeFor(Issue.class, "column");
// xstream.useAttributeFor(Issue.class, "length");
// xstream.useAttributeFor(Issue.class, "severity");
// xstream.useAttributeFor(Issue.class, "reason");
// return (Lint) xstream.fromXML(xml);
// }
//
// public static class File {
// public String name;
// public List<Issue> issues = new ArrayList<Issue>();
// }
public static Map<String, List<Issue>> parse(String json) {
GsonBuilder builder = new GsonBuilder();
// builder.registerTypeAdapterFactory(adapter);
Gson g = builder.setPrettyPrinting().create();
Type listType = new TypeToken<Map<String, List<Issue>>>() {}.getType();
return g.fromJson(json, listType);
}
public static class Issue {
public String linter;
public int line;
public int column;
public int length;
public String severity;
public String reason;
}
}