X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fservice%2Funiprot%2FUniProtFTSRestClient.java;fp=src%2Fjalview%2Ffts%2Fservice%2Funiprot%2FUniProtFTSRestClient.java;h=5ee518bc26715d6c7f0cc3fc06971c5d96558b27;hp=04477156e45ccad5c8ed1cbe2ee0c0506c174ce9;hb=f2b03e9fecf41886ebf5f747fd4be02edf042bee;hpb=d737688dfdb8d00ed63a699fb86548499d75bcf2 diff --git a/src/jalview/fts/service/uniprot/UniProtFTSRestClient.java b/src/jalview/fts/service/uniprot/UniProtFTSRestClient.java index 0447715..5ee518b 100644 --- a/src/jalview/fts/service/uniprot/UniProtFTSRestClient.java +++ b/src/jalview/fts/service/uniprot/UniProtFTSRestClient.java @@ -63,19 +63,20 @@ public class UniProtFTSRestClient extends FTSRestClient : uniportRestRequest.getResponseSize(); int offSet = uniportRestRequest.getOffSet(); + String query; + if (isAdvancedQuery(uniportRestRequest.getSearchTerm())) + { + query = uniportRestRequest.getSearchTerm(); + } + else + { + query = uniportRestRequest.getFieldToSearchBy().equalsIgnoreCase( + "Search All") ? uniportRestRequest.getSearchTerm() + + " or mnemonic:" + uniportRestRequest.getSearchTerm() + : uniportRestRequest.getFieldToSearchBy() + ":" + + uniportRestRequest.getSearchTerm(); + } - String query = uniportRestRequest.getFieldToSearchBy() - .equalsIgnoreCase("Search All") ? uniportRestRequest - .getSearchTerm() : uniportRestRequest.getFieldToSearchBy() - + ":" + uniportRestRequest.getSearchTerm(); - - // + (uniportRestRequest.isAllowUnpublishedEntries() ? "" - // : " AND status:REL"); - // System.out.println(">>>>> Query : " + query); - // System.out.println(">>>>> Columns : " + wantedFields); - // System.out.println(">>>>> Response size: " + responseSize - // + " offset : " - // + offSet); WebResource webResource = null; webResource = client.resource(UNIPROT_SEARCH_ENDPOINT) .queryParam("format", "tab") @@ -128,6 +129,17 @@ public class UniProtFTSRestClient extends FTSRestClient } } + public boolean isAdvancedQuery(String query) + { + if (query.contains(" AND ") || query.contains(" OR ") + || query.contains(" NOT ") || query.contains(" ! ") + || query.contains(" || ") || query.contains(" && ") + || query.contains(":") || query.contains("-")) + { + return true; + } + return false; + } public FTSRestResponse parseUniprotResponse( String uniProtTabDelimittedResponseString, @@ -226,9 +238,11 @@ public class UniProtFTSRestClient extends FTSRestClient { try { - summaryRowData[colCounter++] = (field.getDataColumnClass() == Integer.class) ? Integer - .valueOf(fieldData) - : (field.getDataColumnClass() == Double.class) ? Double + summaryRowData[colCounter++] = (field.getDataType() + .getDataTypeClass() == Integer.class) ? Integer + .valueOf(fieldData.replace(",", "")) + : (field.getDataType() + .getDataTypeClass() == Double.class) ? Double .valueOf(fieldData) : fieldData; } catch (Exception e) {