X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fservice%2Fpdb%2FPDBFTSRestClient.java;h=93a7df38c63d9a782459829ba82940fd01317311;hb=7069dfb8eacf6405040429bb74ffc109706ddc49;hp=08803b0936a0f9a7e39e48af48734a85d928b76c;hpb=9259191d7265f8004f7cf51a62d9365a5c84067b;p=jalview.git diff --git a/src/jalview/fts/service/pdb/PDBFTSRestClient.java b/src/jalview/fts/service/pdb/PDBFTSRestClient.java index 08803b0..93a7df3 100644 --- a/src/jalview/fts/service/pdb/PDBFTSRestClient.java +++ b/src/jalview/fts/service/pdb/PDBFTSRestClient.java @@ -86,6 +86,7 @@ public class PDBFTSRestClient extends FTSRestClient .getWantedFields()); int responseSize = (pdbRestRequest.getResponseSize() == 0) ? getDefaultResponsePageSize() : pdbRestRequest.getResponseSize(); + int offSet = pdbRestRequest.getOffSet(); String sortParam = null; if (pdbRestRequest.getFieldToSortBy() == null || pdbRestRequest.getFieldToSortBy().trim().isEmpty()) @@ -128,6 +129,7 @@ public class PDBFTSRestClient extends FTSRestClient .queryParam("wt", "json").queryParam("fl", wantedFields) .queryParam("rows", String.valueOf(responseSize)) .queryParam("q", query) + .queryParam("start", String.valueOf(offSet)) .queryParam("sort", sortParam).queryParam("facet", "true") .queryParam("facet.pivot", facetPivot) .queryParam("facet.pivot.mincount", facetPivotMinCount); @@ -137,6 +139,7 @@ public class PDBFTSRestClient extends FTSRestClient webResource = client.resource(PDB_SEARCH_ENDPOINT) .queryParam("wt", "json").queryParam("fl", wantedFields) .queryParam("rows", String.valueOf(responseSize)) + .queryParam("start", String.valueOf(offSet)) .queryParam("q", query) .queryParam("sort", sortParam); } @@ -160,7 +163,7 @@ public class PDBFTSRestClient extends FTSRestClient else { errorMessage = getMessageByHTTPStatusCode(clientResponse - .getStatus()); +.getStatus(), "PDB"); throw new Exception(errorMessage); } } @@ -185,9 +188,8 @@ public class PDBFTSRestClient extends FTSRestClient else if (exceptionMsg.contains("UnknownHostException")) { // The server 'www.ebi.ac.uk' is unreachable - throw new Exception( - MessageManager - .getString("exception.pdb_server_unreachable")); + throw new Exception(MessageManager.formatMessage( + "exception.fts_server_unreachable", "PDB Solr")); } else { @@ -196,35 +198,6 @@ public class PDBFTSRestClient extends FTSRestClient } } - public String getMessageByHTTPStatusCode(int code) - { - String message = ""; - switch (code) - { - case 410: - message = MessageManager - .getString("exception.pdb_rest_service_no_longer_available"); - break; - case 403: - case 404: - message = MessageManager.getString("exception.resource_not_be_found"); - break; - case 408: - case 409: - case 500: - case 501: - case 502: - case 503: - case 504: - case 505: - message = MessageManager.getString("exception.pdb_server_error"); - break; - - default: - break; - } - return message; - } /** * Process error response from PDB server if/when one occurs. @@ -353,11 +326,13 @@ public class PDBFTSRestClient extends FTSRestClient { try { - summaryRowData[colCounter++] = (field.getDataColumnClass() == Integer.class) ? Integer + summaryRowData[colCounter++] = (field.getDataType() + .getDataTypeClass() == Integer.class) ? Integer .valueOf(fieldData) - : (field.getDataColumnClass() == Double.class) ? Double + : (field.getDataType() + .getDataTypeClass() == Double.class) ? Double .valueOf(fieldData) - : fieldData; + : sanitiseData(fieldData); } catch (Exception e) { e.printStackTrace(); @@ -407,9 +382,23 @@ public class PDBFTSRestClient extends FTSRestClient { return Objects.hash(primaryKey1, this.toString()); } + + @Override + public boolean equals(Object that) + { + return this.toString().equals(that.toString()); + } }; } + private static String sanitiseData(String data) + { + String cleanData = data.replaceAll("\\[\"", "").replaceAll("\\]\"", "") + .replaceAll("\\[", "").replaceAll("\\]", "") + .replaceAll("\",\"", ", ").replaceAll("\"", ""); + return cleanData; + } + @Override public String getColumnDataConfigFileName() {