X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Futil%2FJSONUtils.java;h=7a5fb15a389755ea2e37d070fe6ddf8a171f716b;hb=7c41e0253551a494219c4f1133a1aa2fe591b97a;hp=127a085d1739113cdfe450f94a51389e52c64273;hpb=b41e1c5deef715310a5b2c4c7dc9c4672dd46860;p=jalview.git diff --git a/src/jalview/util/JSONUtils.java b/src/jalview/util/JSONUtils.java index 127a085..7a5fb15 100644 --- a/src/jalview/util/JSONUtils.java +++ b/src/jalview/util/JSONUtils.java @@ -1,14 +1,29 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.util; -import jalview.javascript.json.JSON; -import jalview.json.binding.biojson.v1.AlignmentPojo; - -import java.io.FileReader; import java.io.IOException; import java.io.Reader; import java.util.List; -import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class JSONUtils @@ -23,70 +38,56 @@ public class JSONUtils */ public static String arrayToStringList(List jsonArray) { - int n; - + int n; + if (jsonArray == null || (n = jsonArray.size()) == 0) { return null; } /** + * BH TODO to Platform? + * * @j2sNative * - * return jsonArray.elementData.slice(0, n).join(","); + * return jsonArray.elementData.slice(0, n).join(","); */ { - StringBuilder sb = new StringBuilder(); - for (int i = 0; i < n; i++) - { - if (i > 0) - { - sb.append(","); - } - sb.append(jsonArray.get(i).toString()); - } - return sb.toString(); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < n; i++) + { + if (i > 0) + { + sb.append(","); + } + sb.append(jsonArray.get(i).toString()); + } + return sb.toString(); } } /** - * The method all JSON parsing must go through for JavaScript. - * @param r a BufferedReader or a javascript.json.JSON.JSONReader + * The method all JSON parsing must go through for JavaScript. + * + * @param r + * a BufferedReader or a javascript.json.JSON.JSONReader * @return * @throws IOException * @throws ParseException */ - public static Object parse(Reader r) throws IOException, ParseException + public static Object parse(Reader r) throws IOException, ParseException { - // Using a file reader is not currently supported in SwingJS JavaScript - - if (r == null) - return null; -// -// Platform.timeCheck("JSONUtils.parse0 ", Platform.TIME_MARK); - - Object ret; - if (Platform.isJS()) - { - if (r instanceof FileReader) - { - throw new IOException("StringJS does not support FileReader parsing for JSON -- but it could..."); - } - return JSON.parse(r); - } else { - ret = new JSONParser().parse(r); - } -// Platform.timeCheck("JSONUtils.parse1 ", Platform.TIME_MARK); - return ret; + return Platform.parseJSON(r); } - public static Object parse(String json) throws ParseException + public static Object parse(String json) throws ParseException { - return (Platform.isJS() ? JSON.parse(json) : new JSONParser().parse(json)); + return Platform.parseJSON(json); } -public static String stringify(Object obj) { - return new org.json.JSONObject(obj).toString(); -} + public static String stringify(Object obj) + { + return new org.json.JSONObject(obj).toString(); + } }