X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fservice%2Funiprot%2FUniProtFTSRestClient.java;h=4fd12df16047b88084f72118ae8fab872b47d08c;hb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;hp=6a54aa1a4d176409d94872b8835b0e7b3564d80b;hpb=bf4db6784723a31985eb7d3734d0a98506b4feb1;p=jalview.git diff --git a/src/jalview/fts/service/uniprot/UniProtFTSRestClient.java b/src/jalview/fts/service/uniprot/UniProtFTSRestClient.java index 6a54aa1..4fd12df 100644 --- a/src/jalview/fts/service/uniprot/UniProtFTSRestClient.java +++ b/src/jalview/fts/service/uniprot/UniProtFTSRestClient.java @@ -22,7 +22,6 @@ package jalview.fts.service.uniprot; import jalview.bin.Cache; -import jalview.bin.Jalview; import jalview.fts.api.FTSData; import jalview.fts.api.FTSDataColumnI; import jalview.fts.api.FTSRestClientI; @@ -30,6 +29,7 @@ import jalview.fts.core.FTSRestClient; import jalview.fts.core.FTSRestRequest; import jalview.fts.core.FTSRestResponse; import jalview.util.MessageManager; +import jalview.util.Platform; import java.util.ArrayList; import java.util.Collection; @@ -47,6 +47,11 @@ public class UniProtFTSRestClient extends FTSRestClient { private static final String DEFAULT_UNIPROT_DOMAIN = "https://www.uniprot.org"; + static + { + Platform.addJ2SDirectDatabaseCall(DEFAULT_UNIPROT_DOMAIN); + } + private static FTSRestClientI instance = null; public final String uniprotSearchEndpoint; @@ -58,33 +63,34 @@ public class UniProtFTSRestClient extends FTSRestClient DEFAULT_UNIPROT_DOMAIN) + "/uniprot/"; } + @SuppressWarnings("unchecked") @Override - public FTSRestResponse executeRequest(FTSRestRequest uniportRestRequest) + public FTSRestResponse executeRequest(FTSRestRequest uniprotRestRequest) throws Exception { try { String wantedFields = getDataColumnsFieldsAsCommaDelimitedString( - uniportRestRequest.getWantedFields()); - int responseSize = (uniportRestRequest.getResponseSize() == 0) + uniprotRestRequest.getWantedFields()); + int responseSize = (uniprotRestRequest.getResponseSize() == 0) ? getDefaultResponsePageSize() - : uniportRestRequest.getResponseSize(); + : uniprotRestRequest.getResponseSize(); - int offSet = uniportRestRequest.getOffSet(); + int offSet = uniprotRestRequest.getOffSet(); String query; - if (isAdvancedQuery(uniportRestRequest.getSearchTerm())) + if (isAdvancedQuery(uniprotRestRequest.getSearchTerm())) { - query = uniportRestRequest.getSearchTerm(); + query = uniprotRestRequest.getSearchTerm(); } else { - query = uniportRestRequest.getFieldToSearchBy() + query = uniprotRestRequest.getFieldToSearchBy() .equalsIgnoreCase("Search All") - ? uniportRestRequest.getSearchTerm() + ? uniprotRestRequest.getSearchTerm() + " or mnemonic:" - + uniportRestRequest.getSearchTerm() - : uniportRestRequest.getFieldToSearchBy() + ":" - + uniportRestRequest.getSearchTerm(); + + uniprotRestRequest.getSearchTerm() + : uniprotRestRequest.getFieldToSearchBy() + ":" + + uniprotRestRequest.getSearchTerm(); } // BH 2018 the trick here is to coerce the classes in Javascript to be @@ -92,14 +98,18 @@ public class UniProtFTSRestClient extends FTSRestClient // Java Client client; Class clientResponseClass; - if (/** @j2sNative true || */ - false) + if (Platform.isJS()) { // JavaScript only -- coerce types to Java types for Java client = (Client) (Object) new jalview.javascript.web.Client(); clientResponseClass = (Class) (Object) jalview.javascript.web.ClientResponse.class; } else + /** + * Java only + * + * @j2sIgnore + */ { // Java only client = Client.create(new DefaultClientConfig()); @@ -129,13 +139,13 @@ public class UniProtFTSRestClient extends FTSRestClient throw new Exception(errorMessage); } - int xTotalResults = Jalview.isJS() ? 1 + int xTotalResults = Platform.isJS() ? 1 : Integer.valueOf(clientResponse.getHeaders() .get("X-Total-Results").get(0)); clientResponse = null; client = null; return parseUniprotResponse(uniProtTabDelimittedResponseString, - uniportRestRequest, xTotalResults); + uniprotRestRequest, xTotalResults); } catch (Exception e) { String exceptionMsg = e.getMessage(); @@ -205,38 +215,39 @@ public class UniProtFTSRestClient extends FTSRestClient return searchResult; } - /** - * Takes a collection of FTSDataColumnI and converts its 'code' values into a - * tab delimited string. - * - * @param dataColumnFields - * the collection of FTSDataColumnI to process - * @return the generated comma delimited string from the supplied - * FTSDataColumnI collection - */ - private String getDataColumnsFieldsAsTabDelimitedString( - Collection dataColumnFields) - { - String result = ""; - if (dataColumnFields != null && !dataColumnFields.isEmpty()) - { - StringBuilder returnedFields = new StringBuilder(); - for (FTSDataColumnI field : dataColumnFields) - { - if (field.getName().equalsIgnoreCase("Uniprot Id")) - { - returnedFields.append("\t").append("Entry"); - } - else - { - returnedFields.append("\t").append(field.getName()); - } - } - returnedFields.deleteCharAt(0); - result = returnedFields.toString(); - } - return result; - } + // /** + // * Takes a collection of FTSDataColumnI and converts its 'code' values into + // a + // * tab delimited string. + // * + // * @param dataColumnFields + // * the collection of FTSDataColumnI to process + // * @return the generated comma delimited string from the supplied + // * FTSDataColumnI collection + // */ + // private String getDataColumnsFieldsAsTabDelimitedString( + // Collection dataColumnFields) + // { + // String result = ""; + // if (dataColumnFields != null && !dataColumnFields.isEmpty()) + // { + // StringBuilder returnedFields = new StringBuilder(); + // for (FTSDataColumnI field : dataColumnFields) + // { + // if (field.getName().equalsIgnoreCase("Uniprot Id")) + // { + // returnedFields.append("\t").append("Entry"); + // } + // else + // { + // returnedFields.append("\t").append(field.getName()); + // } + // } + // returnedFields.deleteCharAt(0); + // result = returnedFields.toString(); + // } + // return result; + // } public static FTSData getFTSData(String tabDelimittedDataStr, FTSRestRequest request)