Clover icon

Coverage Report

  1. Project Clover database Wed Nov 6 2024 00:56:24 GMT
  2. Package jalview.util

File JSONUtils.java

 

Coverage histogram

../../img/srcFileCovDistChart9.png
12% of files have more coverage

Code metrics

6
12
4
1
93
40
8
0.67
3
4
2

Classes

Class Line # Actions
JSONUtils 29 12 8
0.9090909490.9%
 

Contributing tests

This file is covered by 75 tests. .

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
4    *
5    * This file is part of Jalview.
6    *
7    * Jalview is free software: you can redistribute it and/or
8    * modify it under the terms of the GNU General Public License
9    * as published by the Free Software Foundation, either version 3
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.util;
22   
23    import java.io.IOException;
24    import java.io.Reader;
25    import java.util.List;
26   
27    import org.json.simple.parser.ParseException;
28   
 
29    public class JSONUtils
30    {
31   
32    /**
33    * Converts a JSONArray of values to a string as a comma-separated list.
34    * Answers null if the array is null or empty.
35    *
36    * @param jsonArray
37    * @return
38    */
 
39  4 toggle public static String arrayToStringList(List<Object> jsonArray)
40    {
41  4 int n;
42   
43  ? if (jsonArray == null || (n = jsonArray.size()) == 0)
44    {
45  2 return null;
46    }
47   
48    /**
49    * BH TODO to Platform?
50    *
51    * @j2sNative
52    *
53    * return jsonArray.elementData.slice(0, n).join(",");
54    */
55    {
56  2 StringBuilder sb = new StringBuilder();
57  5 for (int i = 0; i < n; i++)
58    {
59  3 if (i > 0)
60    {
61  1 sb.append(",");
62    }
63  3 sb.append(jsonArray.get(i).toString());
64    }
65  2 return sb.toString();
66    }
67    }
68   
69    /**
70    * The method all JSON parsing must go through for JavaScript.
71    *
72    * @param r
73    * a BufferedReader or a javascript.json.JSON.JSONReader
74    * @return
75    * @throws IOException
76    * @throws ParseException
77    */
 
78  53 toggle public static Object parse(Reader r) throws IOException, ParseException
79    {
80  53 return Platform.parseJSON(r);
81    }
82   
 
83  122 toggle public static Object parse(String json) throws ParseException
84    {
85  122 return Platform.parseJSON(json);
86    }
87   
 
88  8 toggle public static String stringify(Object obj)
89    {
90  8 return new org.json.JSONObject(obj).toString();
91    }
92   
93    }