X-Git-Url: https://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fdata%2FJsonIO.java;h=501a0d9daedb8b0bf2674c8b1abc3da49ef2f8ea;hb=258e065f81071a861711ef935dca3ec5563f4360;hp=fee60ce23a57b2b754fae7a1d01159af5eafb7d5;hpb=04ae006fdc06b9cbad52f9851ffcb5ad58068318;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/data/JsonIO.java b/src/be/nikiroo/fanfix/data/JsonIO.java deleted file mode 100644 index fee60ce..0000000 --- a/src/be/nikiroo/fanfix/data/JsonIO.java +++ /dev/null @@ -1,288 +0,0 @@ -package be.nikiroo.fanfix.data; - -import java.util.ArrayList; -import java.util.List; - -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import be.nikiroo.fanfix.data.Paragraph.ParagraphType; - -public class JsonIO { - static public JSONObject toJson(MetaData meta) { - if (meta == null) { - return null; - } - - JSONObject json = new JSONObject(); - put(json, "", MetaData.class.getName()); - put(json, "luid", meta.getLuid()); - put(json, "title", meta.getTitle()); - put(json, "author", meta.getAuthor()); - put(json, "source", meta.getSource()); - put(json, "url", meta.getUrl()); - put(json, "words", meta.getWords()); - put(json, "creation_date", meta.getCreationDate()); - put(json, "date", meta.getDate()); - put(json, "lang", meta.getLang()); - put(json, "publisher", meta.getPublisher()); - put(json, "subject", meta.getSubject()); - put(json, "type", meta.getType()); - put(json, "uuid", meta.getUuid()); - put(json, "resume", toJson(meta.getResume())); - put(json, "tags", new JSONArray(meta.getTags())); - - return json; - } - - /** - * // no image - * - * @param json - * - * @return - * - * @throws JSONException - * when it cannot be converted - */ - static public MetaData toMetaData(JSONObject json) { - if (json == null) { - return null; - } - - MetaData meta = new MetaData(); - meta.setLuid(getString(json, "luid")); - meta.setTitle(getString(json, "title")); - meta.setAuthor(getString(json, "author")); - meta.setSource(getString(json, "source")); - meta.setUrl(getString(json, "url")); - meta.setWords(getLong(json, "words", 0)); - meta.setCreationDate(getString(json, "creation_date")); - meta.setDate(getString(json, "date")); - meta.setLang(getString(json, "lang")); - meta.setPublisher(getString(json, "publisher")); - meta.setSubject(getString(json, "subject")); - meta.setType(getString(json, "type")); - meta.setUuid(getString(json, "uuid")); - - meta.setResume(toChapter(getJson(json, "resume"))); - meta.setTags(toListString(getJsonArr(json, "tags"))); - - return meta; - } - - static public JSONObject toJson(Story story) { - if (story == null) { - return null; - } - - JSONObject json = new JSONObject(); - put(json, "", Story.class.getName()); - put(json, "meta", toJson(story.getMeta())); - - List chapters = new ArrayList(); - for (Chapter chap : story) { - chapters.add(toJson(chap)); - } - put(json, "chapters", new JSONArray(chapters)); - - return json; - } - - /** - * - * @param json - * - * @return - * - * @throws JSONException - * when it cannot be converted - */ - static public Story toStory(JSONObject json) { - if (json == null) { - return null; - } - - Story story = new Story(); - story.setMeta(toMetaData(getJson(json,"meta"))); - story.setChapters(toListChapter(getJsonArr(json, "chapters"))); - - return story; - } - - static public JSONObject toJson(Chapter chap) { - if (chap == null) { - return null; - } - - JSONObject json = new JSONObject(); - put(json, "", Chapter.class.getName()); - put(json, "name", chap.getName()); - put(json, "number", chap.getNumber()); - put(json, "words", chap.getWords()); - - List paragraphs = new ArrayList(); - for (Paragraph para : chap) { - paragraphs.add(toJson(para)); - } - put(json, "paragraphs", new JSONArray(paragraphs)); - - return json; - } - - /** - * - * @param json - * - * @return - * - * @throws JSONException - * when it cannot be converted - */ - static public Chapter toChapter(JSONObject json) { - if (json == null) { - return null; - } - - Chapter chap = new Chapter(getInt(json, "number", 0), - getString(json, "name")); - chap.setWords(getLong(json, "words", 0)); - chap.setParagraphs(toListParagraph(getJsonArr(json, "paragraphs"))); - - return chap; - } - - // no images - static public JSONObject toJson(Paragraph para) { - if (para == null) { - return null; - } - - JSONObject json = new JSONObject(); - put(json, "", Paragraph.class.getName()); - put(json, "type", para.getType()); - put(json, "content", para.getContent()); - put(json, "words", para.getWords()); - - return json; - } - - /** - * // no images - * - * @param json - * - * @return - * - * @throws JSONException - * when it cannot be converted - */ - static public Paragraph toParagraph(JSONObject json) { - if (json == null) { - return null; - } - - Paragraph para = new Paragraph( - ParagraphType.valueOf(getString(json, "type")), - getString(json, "content"), getLong(json, "words", 0)); - - return para; - } - - static public List toListString(JSONArray array) { - if (array != null) { - List values = new ArrayList(); - for (Object value : array.toList()) { - values.add(value == null ? null : value.toString()); - } - return values; - } - - return null; - } - - static public List toListParagraph(JSONArray array) { - if (array != null) { - List values = new ArrayList(); - for (Object value : array.toList()) { - values.add( - value instanceof Paragraph ? (Paragraph) value : null); - } - return values; - } - - return null; - } - - private static List toListChapter(JSONArray array) { - if (array != null) { - List values = new ArrayList(); - for (Object value : array.toList()) { - values.add(value instanceof Chapter ? (Chapter) value : null); - } - return values; - } - - return null; - } - - static private void put(JSONObject json, String key, Object o) { - json.put(key, o == null ? JSONObject.NULL : o); - } - - static String getString(JSONObject json, String key) { - if (json.has(key)) { - Object o = json.get(key); - if (o instanceof String) { - return (String) o; - } - } - - return null; - } - - static long getLong(JSONObject json, String key, long def) { - if (json.has(key)) { - Object o = json.get(key); - if (o instanceof Long) { - return (Long) o; - } - } - - return def; - } - - static int getInt(JSONObject json, String key, int def) { - if (json.has(key)) { - Object o = json.get(key); - if (o instanceof Integer) { - return (Integer) o; - } - } - - return def; - } - - static JSONObject getJson(JSONObject json, String key) { - if (json.has(key)) { - Object o = json.get(key); - if (o instanceof JSONObject) { - return (JSONObject) o; - } - } - - return null; - } - - static JSONArray getJsonArr(JSONObject json, String key) { - if (json.has(key)) { - Object o = json.get(key); - if (o instanceof JSONArray) { - return (JSONArray) o; - } - } - - return null; - } -}