X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fservice%2Fthreedbeacons%2FTDBeaconsFTSRestClient.java;h=e9564615252928532bf4b35fc2817b07c2acc2f6;hb=bc4b17d7c6b2e7df9262371e644abcdfb8ac3e91;hp=b6be70931ded7217749af98b520a179a0a3e3786;hpb=d31e1b224755c917a0c78016238ba0ff62b3560b;p=jalview.git diff --git a/src/jalview/fts/service/threedbeacons/TDBeaconsFTSRestClient.java b/src/jalview/fts/service/threedbeacons/TDBeaconsFTSRestClient.java index b6be709..e956461 100644 --- a/src/jalview/fts/service/threedbeacons/TDBeaconsFTSRestClient.java +++ b/src/jalview/fts/service/threedbeacons/TDBeaconsFTSRestClient.java @@ -32,7 +32,7 @@ import jalview.util.Platform; public class TDBeaconsFTSRestClient extends FTSRestClient { private static final String DEFAULT_THREEDBEACONS_DOMAIN = - "https://wwwdev.ebi.ac.uk/pdbe/pdbe-kb/3dbeacons-hub-api/uniprot/"; + "https://wwwdev.ebi.ac.uk/pdbe/pdbe-kb/3dbeacons/api/uniprot/summary/"; private static FTSRestClientI instance = null; @@ -47,16 +47,7 @@ public class TDBeaconsFTSRestClient extends FTSRestClient { try { - // Removed wantedFields, sortParam & facetPivot from PDBFTSRClient - String wantedFields = getDataColumnsFieldsAsCommaDelimitedString( - tdbRestRequest.getWantedFields()); - int responseSize = (tdbRestRequest.getResponseSize() == 0) - ? getDefaultResponsePageSize() - : tdbRestRequest.getResponseSize(); - //int offSet = pdbRestRequest.getOffSet(); - - String query = tdbRestRequest.getFieldToSearchBy() - + tdbRestRequest.getSearchTerm(); + String query = tdbRestRequest.getSearchTerm(); Client client; Class clientResponseClass; if (Platform.isJS()) @@ -75,12 +66,9 @@ public class TDBeaconsFTSRestClient extends FTSRestClient clientResponseClass = ClientResponse.class; } WebResource webResource; - webResource = client.resource(DEFAULT_THREEDBEACONS_DOMAIN).path(query); + webResource = client.resource(DEFAULT_THREEDBEACONS_DOMAIN) + .path(query); URI uri = webResource.getURI(); -// .queryParam("P", query); -// .queryParam("rows", String.valueOf(responseSize)) -// .queryParam("P",query); -// URI uri = webResource.getURI(); System.out.println(uri.toString()); // Execute the REST request @@ -92,13 +80,11 @@ public class TDBeaconsFTSRestClient extends FTSRestClient Map jsonObj = null; String responseString = null; - //System.out.println("query >>>>>>> " + tdbRestRequest.toString()); - // Check the response status and report exception if one occurs int responseStatus = clientResponse.getStatus(); switch (responseStatus) { - // if succesful + // if success case 200: if (Platform.isJS()) { @@ -156,7 +142,6 @@ public class TDBeaconsFTSRestClient extends FTSRestClient Map jsonObj, FTSRestRequest tdbRestRequest) { FTSRestResponse searchResult = new FTSRestResponse(); - //searchResult.setNumberOfItemsFound(1); List result = null; try @@ -165,24 +150,24 @@ public class TDBeaconsFTSRestClient extends FTSRestClient { jsonObj = (Map) JSONUtils.parse(tdbJsonResponseString); } - //Map tdbResponse = (Map) jsonObj.get("structures"); - //String seqLength = tdbEntry.get("sequence_length").toString(); - //int seqLength = Integer.valueOf(tdbEntry.get("sequence_length").toString()); - Long seqLength = (Long) ((Map) jsonObj.get("uniprot_entry")).get("sequence_length"); - result = new ArrayList<>(); + Object uniprot_entry = jsonObj.get("uniprot_entry"); + // TODO: decide if anything from uniprot_entry needs to be reported via the FTSRestResponse object + // Arnaud added seqLength = (Long) ((Map) jsonObj.get("uniprot_entry")).get("sequence_length"); + List structures = (List) jsonObj.get("structures"); + result = new ArrayList<>(); + int numFound = 0; - for (Iterator strucIter = structures.iterator(); strucIter - .hasNext();) + for (Iterator strucIter = structures.iterator(); strucIter.hasNext();) { Map structure = (Map) strucIter.next(); result.add(getFTSData(structure, tdbRestRequest)); numFound++; } - searchResult.setNumberOfItemsFound(numFound); - searchResult.setSearchSummary(result); - searchResult.setSequenceLength(seqLength); + + searchResult.setNumberOfItemsFound(numFound); + searchResult.setSearchSummary(result); } catch (ParseException e) { @@ -200,15 +185,17 @@ private static FTSData getFTSData(Map tdbJsonStructure, Collection displayFields = tdbRequest.getWantedFields(); int colCounter = 0; summaryRowData = new Object[displayFields.size()]; + for (FTSDataColumnI field : displayFields) { String fieldData = (tdbJsonStructure.get(field.getCode()) == null) ? " " : tdbJsonStructure.get(field.getCode()).toString(); + // System.out.println("Field : " + field + " Data : " + fieldData); if (field.isPrimaryKeyColumn()) { primaryKey = fieldData; summaryRowData[colCounter++] = primaryKey; } - else if (fieldData == null || fieldData.isEmpty()) + else if (fieldData == null || fieldData.trim().isEmpty()) { summaryRowData[colCounter++] = null; } @@ -225,8 +212,8 @@ private static FTSData getFTSData(Map tdbJsonStructure, : fieldData; } catch (Exception e) { - e.printStackTrace(); - System.out.println("offending value:" + fieldData); + //e.printStackTrace(); + System.out.println("offending value:" + fieldData + fieldData); } } }