X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fservice%2Fpdb%2FPDBFTSRestClient.java;h=dc7fe412857737f88b4c4549a301821a932150c4;hb=refs%2Fheads%2Farnaud%2Fdevelop;hp=cd3e5c9159542bd6a61aa3742001a4d8f71a9251;hpb=0b81a1e5d3ce305fe5c56d60c40f28f81ae00ae8;p=jalview.git diff --git a/src/jalview/fts/service/pdb/PDBFTSRestClient.java b/src/jalview/fts/service/pdb/PDBFTSRestClient.java index cd3e5c9..dc7fe41 100644 --- a/src/jalview/fts/service/pdb/PDBFTSRestClient.java +++ b/src/jalview/fts/service/pdb/PDBFTSRestClient.java @@ -20,17 +20,6 @@ */ 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; @@ -48,6 +37,17 @@ import com.sun.jersey.api.client.ClientResponse; 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 * @@ -171,35 +171,34 @@ public class PDBFTSRestClient extends FTSRestClient 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 jsonObj = (Platform.isJS() && status == 200 - ? clientResponse.getEntity(Map.class) - : null); - String responseString = (jsonObj == null - ? clientResponse.getEntity(String.class) - : null); + Map jsonObj = null; + String responseString = null; - // System.out.println("query >>>>>>> " + pdbRestRequest.toString()); + 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) @@ -365,8 +364,10 @@ public static String parseJsonExceptionString(String jsonErrorResponse) for (FTSDataColumnI field : diplayFields) { + //System.out.println("Field " + field); String fieldData = (pdbJsonDoc.get(field.getCode()) == null) ? "" : pdbJsonDoc.get(field.getCode()).toString(); + //System.out.println("Field Data : " + fieldData); if (field.isPrimaryKeyColumn()) { primaryKey = fieldData;