JAL-3541 selectively merged build.gradle and gradle.properties
[jalview.git] / src / jalview / ext / paradise / Annotate3D.java
index b8ba847..de1d90c 100644 (file)
@@ -20,9 +20,6 @@
  */
 package jalview.ext.paradise;
 
-import jalview.util.MessageManager;
-import jalview.ws.HttpClientUtils;
-
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
@@ -32,14 +29,17 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.http.NameValuePair;
 import org.apache.http.message.BasicNameValuePair;
-import org.json.simple.JSONArray;
-import org.json.simple.JSONObject;
 import org.json.simple.parser.ContentHandler;
 import org.json.simple.parser.ParseException;
 
+import jalview.util.JSONUtils;
+import jalview.util.MessageManager;
+import jalview.ws.HttpClientUtils;
+
 /**
  * simple methods for calling the various paradise RNA tools
  * 
@@ -157,8 +157,7 @@ public class Annotate3D
     org.json.simple.parser.JSONParser jp = new org.json.simple.parser.JSONParser();
     try
     {
-      final JSONArray responses = (JSONArray) jp.parse(respons);
-      final RvalsIterator rvals = new RvalsIterator(responses);
+      final RvalsIterator rvals = new RvalsIterator(respons);
       return rvals;
     } catch (Exception foo)
     {
@@ -189,11 +188,21 @@ public class Annotate3D
 
 class RvalsIterator implements Iterator, AutoCloseable
 {
-  private Iterator rvals;
+  private Iterator<Object> rvals;
 
-  protected RvalsIterator(JSONArray responses)
+  @SuppressWarnings("unchecked")
+  protected RvalsIterator(Reader respons) throws IOException, ParseException
   {
-    this.rvals = responses.iterator();
+    /*
+     * as in 2.11.1 (pre-JalviewJS)
+     */
+    // final JSONArray responses = (JSONArray) jp.parse(respons);
+    // this.rvals = responses.iterator();
+
+    /*
+     * as in JalviewJS (with comment that this code is never called)
+     */
+    this.rvals = ((List<Object>) JSONUtils.parse(respons)).iterator();
   }
 
   @Override
@@ -205,7 +214,9 @@ class RvalsIterator implements Iterator, AutoCloseable
   @Override
   public Reader next()
   {
-    JSONObject val = (JSONObject) rvals.next();
+    // JSONObject val = (JSONObject) rvals.next(); // 2.11.1
+    @SuppressWarnings("unchecked")
+    Map<String, Object> val = (Map<String, Object>) rvals.next();
 
     Object sval = null;
     try
@@ -215,7 +226,7 @@ class RvalsIterator implements Iterator, AutoCloseable
     {
       x.printStackTrace();
     }
-    ;
+
     if (sval == null)
     {
       System.err.println(
@@ -224,9 +235,11 @@ class RvalsIterator implements Iterator, AutoCloseable
 
       sval = "";
     }
-    return new StringReader(
-            (sval instanceof JSONObject) ? ((JSONObject) sval).toString()
-                    : sval.toString());
+    // 2.11.1:
+    // return new StringReader(
+    // (sval instanceof JSONObject) ? ((JSONObject) sval).toString()
+    // : sval.toString());
+    return new StringReader(sval.toString());
 
   }