Merge branch 'develop' into trialMerge
[jalview.git] / src / jalview / ext / paradise / Annotate3D.java
index b8ba847..3c443de 100644 (file)
@@ -20,6 +20,7 @@
  */
 package jalview.ext.paradise;
 
+import jalview.util.JSONUtils;
 import jalview.util.MessageManager;
 import jalview.ws.HttpClientUtils;
 
@@ -32,11 +33,10 @@ 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;
 
@@ -151,22 +151,25 @@ public class Annotate3D
 
   }
 
+  /**
+   * @param respons
+   * @return
+   * @throws Exception
+   */
   public static Iterator<Reader> processJsonResponseFor(Reader respons)
           throws Exception
   {
-    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);
-      return rvals;
+      @SuppressWarnings("unchecked")
+       List<Object> responses = (List<Object>) JSONUtils.parse(respons);
+      return new RvalsIterator(responses);
     } catch (Exception foo)
     {
       throw new Exception(MessageManager.getString(
               "exception.couldnt_parse_responde_from_annotated3d_server"),
               foo);
     }
-
   }
 
   public static Iterator<Reader> getRNAMLForPDBId(String pdbid)
@@ -187,11 +190,11 @@ public class Annotate3D
 
 }
 
-class RvalsIterator implements Iterator, AutoCloseable
+class RvalsIterator implements Iterator<Reader>, AutoCloseable
 {
-  private Iterator rvals;
+  private Iterator<Object> rvals;
 
-  protected RvalsIterator(JSONArray responses)
+  protected RvalsIterator(List<Object> responses)
   {
     this.rvals = responses.iterator();
   }
@@ -205,7 +208,7 @@ class RvalsIterator implements Iterator, AutoCloseable
   @Override
   public Reader next()
   {
-    JSONObject val = (JSONObject) rvals.next();
+    Map<String, Object> val = (Map<String, Object>) rvals.next();
 
     Object sval = null;
     try
@@ -215,7 +218,6 @@ class RvalsIterator implements Iterator, AutoCloseable
     {
       x.printStackTrace();
     }
-    ;
     if (sval == null)
     {
       System.err.println(
@@ -224,31 +226,19 @@ class RvalsIterator implements Iterator, AutoCloseable
 
       sval = "";
     }
-    return new StringReader(
-            (sval instanceof JSONObject) ? ((JSONObject) sval).toString()
-                    : sval.toString());
-
+    return new StringReader(sval.toString());
   }
 
   @Override
   public void remove()
   {
-    throw new Error(
-            MessageManager.getString("error.not_implemented_remove"));
-
+    throw new UnsupportedOperationException();
   }
 
   @Override
   protected Object clone() throws CloneNotSupportedException
   {
-    throw new CloneNotSupportedException(
-            MessageManager.getString("error.not_implemented_clone"));
-  }
-
-  @Override
-  public boolean equals(Object obj)
-  {
-    return super.equals(obj);
+    throw new UnsupportedOperationException();
   }
 
   @Override