/** * Copyright (c) 2015 unfoldingWord * http://creativecommons.org/licenses/MIT/ * See LICENSE file for details. * Contributors: * PJ Fechner <pj@actsmedia.com> */ package model.parsers; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import model.daoModels.LanguageLocale; /** * Created by PJ Fechner on 6/22/15. * Class for parsing JSON of LanguageLocales */ public class LanguageLocaleParser extends UWDataParser{ private static final String GW_JSON_TAG = "gw"; private static final String LANGUAGE_DIRECTION_JSON_KEY = "ld"; private static final String LANGUAGE_KEY_JSON_KEY = "lc"; private static final String LANGUAGE_NAME_JSON_KEY = "ln"; private static final String CC_JSON_KEY = "cc"; private static final String LANGUAGE_REGION_JSON_KEY = "lr"; private static final String PK_JSON_KEY = "pk"; public static LanguageLocale parseLanguageLocale(JSONObject jsonObject) throws JSONException{ LanguageLocale newModel = new LanguageLocale(); newModel.setGw(jsonObject.getBoolean(GW_JSON_TAG)); newModel.setLanguageDirection(jsonObject.getString(LANGUAGE_DIRECTION_JSON_KEY)); newModel.setLanguageKey(jsonObject.getString(LANGUAGE_KEY_JSON_KEY)); newModel.setLanguageName(jsonObject.getString(LANGUAGE_NAME_JSON_KEY)); newModel.setCc(getCCString(jsonObject)); newModel.setLanguageRegion(jsonObject.getString(LANGUAGE_REGION_JSON_KEY)); newModel.setPk(jsonObject.getInt(PK_JSON_KEY)); return newModel; } private static String getCCString(JSONObject jsonObject) throws JSONException{ String finalText = ""; JSONArray ccObj = jsonObject.getJSONArray(CC_JSON_KEY); for(int i = 0; i < ccObj.length(); i++) { String ccText = ccObj.getString(i); finalText += ccText + ","; } if(finalText.length() > 0){ return finalText.substring(0, finalText.length() - 1); // -1 to delete last "," } else{ return ""; } } // public static JSONObject getBookAsJson(LanguageLocale model) throws JSONException{ // // JSONObject jsonModel = new JSONObject(); // // jsonModel.put(GW_JSON_TAG, model.getGw()); // jsonModel.put(LANGUAGE_DIRECTION_JSON_KEY, model.getLanguageDirection()); // jsonModel.put(LANGUAGE_KEY_JSON_KEY, model.getLanguageKey()); // jsonModel.put(LANGUAGE_NAME_JSON_KEY, model.getLanguageName()); // // jsonModel.put(CC_JSON_KEY, model.getSignatureUrl()); // jsonModel.put(LANGUAGE_REGION_JSON_KEY, model.getLanguageRegion()); // jsonModel.put(PK_JSON_KEY, model.getPk()); // // return jsonModel; // } }