*/
package jalview.fts.service.pdb;
-import jalview.datamodel.SequenceI;
-import jalview.fts.api.FTSData;
-import jalview.fts.api.FTSDataColumnI;
-import jalview.fts.api.FTSRestClientI;
-import jalview.fts.core.FTSRestClient;
-import jalview.fts.core.FTSRestRequest;
-import jalview.fts.core.FTSRestResponse;
-import jalview.util.JSONUtils;
-import jalview.util.MessageManager;
-import jalview.util.Platform;
-
import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.DefaultClientConfig;
+import jalview.datamodel.SequenceI;
+import jalview.fts.api.FTSData;
+import jalview.fts.api.FTSDataColumnI;
+import jalview.fts.api.FTSRestClientI;
+import jalview.fts.core.FTSRestClient;
+import jalview.fts.core.FTSRestRequest;
+import jalview.fts.core.FTSRestResponse;
+import jalview.util.JSONUtils;
+import jalview.util.MessageManager;
+import jalview.util.Platform;
+
/**
* A rest client for querying the Search endpoint of the PDB API
*
URI uri = webResource.getURI();
- System.out.println(uri);
+ // System.out.println(uri);
// Execute the REST request
ClientResponse clientResponse = webResource
.accept(MediaType.APPLICATION_JSON).get(clientResponseClass );
- int status = clientResponse.getStatus();
-
// Get the JSON string from the response object or directly from the
// client (JavaScript)
- Map<String, Object> jsonObj = (Platform.isJS() && status == 200
- ? clientResponse.getEntity(Map.class)
- : null);
- String responseString = (jsonObj == null
- ? clientResponse.getEntity(String.class)
- : null);
+ Map<String, Object> jsonObj = null;
+ String responseString = null;
// System.out.println("query >>>>>>> " + pdbRestRequest.toString());
// Check the response status and report exception if one occurs
- switch (status)
+ int responseStatus = clientResponse.getStatus();
+ switch (responseStatus)
{
case 200:
+ if (Platform.isJS())
+ {
+ jsonObj = clientResponse.getEntity(Map.class);
+ }
+ else
+ {
+ responseString = clientResponse.getEntity(String.class);
+ }
break;
case 400:
throw new Exception(parseJsonExceptionString(responseString));
default:
- throw new Exception(getMessageByHTTPStatusCode(status, "PDB"));
+ throw new Exception(
+ getMessageByHTTPStatusCode(responseStatus, "PDB"));
}
- // Make redundant objects eligible for garbage collection to conserve
- // memory
- clientResponse = null;
- client = null;
-
// Process the response and return the result to the caller.
return parsePDBJsonResponse(responseString, jsonObj, pdbRestRequest);
} catch (Exception e)