public static Iterator<Reader> getRNAMLForPDBFileAsString(String pdbfile)
throws Exception
{
- List<NameValuePair> vals = new ArrayList<>();
+ List<NameValuePair> vals = new ArrayList<NameValuePair>();
vals.add(new BasicNameValuePair("tool", "rnaview"));
vals.add(new BasicNameValuePair("data", pdbfile));
vals.add(new BasicNameValuePair("output", "rnaml"));
// return processJsonResponseFor(HttpClientUtils.doHttpUrlPost(twoDtoolsURL,
// vals));
- ArrayList<Reader> readers = new ArrayList<>();
+ ArrayList<Reader> readers = new ArrayList<Reader>();
final BufferedReader postResponse = HttpClientUtils
.doHttpUrlPost(twoDtoolsURL, vals, 0, 0);
readers.add(postResponse);
public static Iterator<Reader> processJsonResponseFor(Reader respons)
throws Exception
{
+ // BH 2019 never called?
try
{
@SuppressWarnings("unchecked")
- List<Object> responses = (List<Object>) JSONUtils.parse(respons);
- return new RvalsIterator(responses);
+ final Iterator<Object> rvals = ((List<Object>) JSONUtils.parse(respons)).iterator();
+ return new Iterator<Reader>()
+ {
+ @Override
+ public boolean hasNext()
+ {
+ return rvals.hasNext();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public Reader next()
+ {
+ Map<String, Object> val = (Map<String, Object>) rvals.next();
+
+ Object sval = null;
+ try
+ {
+ sval = val.get("2D");
+ } catch (Exception x)
+ {
+ x.printStackTrace();
+ }
+ ;
+ if (sval == null)
+ {
+ System.err.println(
+ "DEVELOPER WARNING: Annotate3d didn't return a '2D' tag in its response. Consider checking output of server. Response was :"
+ + val.toString());
+
+ sval = "";
+ }
+ return new StringReader(sval.toString());
+
+ }
+
+ @Override
+ public void remove()
+ {
+ throw new Error(
+ MessageManager.getString("error.not_implemented_remove"));
+
+ }
+
+ @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);
+ }
+
+ @Override
+ protected void finalize() throws Throwable
+ {
+ while (rvals.hasNext())
+ {
+ rvals.next();
+ }
+ super.finalize();
+ }
+ };
} catch (Exception foo)
{
throw new Exception(MessageManager.getString(
"exception.couldnt_parse_responde_from_annotated3d_server"),
foo);
}
+
}
public static Iterator<Reader> getRNAMLForPDBId(String pdbid)
throws Exception
{
- List<NameValuePair> vals = new ArrayList<>();
+ List<NameValuePair> vals = new ArrayList<NameValuePair>();
vals.add(new BasicNameValuePair("tool", "rnaview"));
vals.add(new BasicNameValuePair("pdbid", pdbid));
vals.add(new BasicNameValuePair("output", "rnaml"));
+ pdbid + "&output=rnaml");
// return processJsonResponseFor(new
// InputStreamReader(geturl.openStream()));
- ArrayList<Reader> readers = new ArrayList<>();
+ ArrayList<Reader> readers = new ArrayList<Reader>();
readers.add(new InputStreamReader(geturl.openStream()));
return readers.iterator();
}
}
-
-class RvalsIterator implements Iterator<Reader>, AutoCloseable
-{
- private Iterator<Object> rvals;
-
- protected RvalsIterator(List<Object> responses)
- {
- this.rvals = responses.iterator();
- }
-
- @Override
- public boolean hasNext()
- {
- return rvals.hasNext();
- }
-
- @Override
- public Reader next()
- {
- Map<String, Object> val = (Map<String, Object>) rvals.next();
-
- Object sval = null;
- try
- {
- sval = val.get("2D");
- } catch (Exception x)
- {
- x.printStackTrace();
- }
- if (sval == null)
- {
- System.err.println(
- "DEVELOPER WARNING: Annotate3d didn't return a '2D' tag in its response. Consider checking output of server. Response was :"
- + val.toString());
-
- sval = "";
- }
- return new StringReader(sval.toString());
- }
-
- @Override
- public void remove()
- {
- throw new UnsupportedOperationException();
- }
-
- @Override
- protected Object clone() throws CloneNotSupportedException
- {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public void close()
- {
- while (rvals.hasNext())
- {
- rvals.next();
- }
- }
-}